2011-10-27 5 views
2

나는 Magento Template 기본 튜토리얼을 배웠다. 저를 혼란스럽게하는 질문이 있습니다.Magento 레이아웃 파일 템플릿 참조?

checkout.xml에서이 코드를 살펴보십시오. 시스템이 top.links 블록에 두 개의 링크를 추가한다고 알려줍니다.

<reference name="top.links"> 
    <block type="checkout/links" name="checkout_cart_link"> 
     <action method="addCartLink"></action> 
     <action method="addCheckoutLink"></action> 
    </block> 
</reference> 

그래서 page.xml 레이아웃 파일에서 top.links 블록을 찾습니다. 이 블록이 사용할 템플릿을 알고 싶습니다. 그러나이 태그에는 템플리트 속성이 없습니다. 왜 여기에 템플릿 속성이 없는지 아무도 말할 수 없습니까? 그렇다면 Magento는 어떤 템플릿을 참조해야하는지 어떻게 알 수 있습니까?

<block type="page/html_header" name="header" as="header"> 
    <block type="page/template_links" name="top.links" as="topLinks"/> 
</block> 

그것은 헤더 블록 레이아웃 XML에서

답변

10

에서 top.links 블록이, 우리에게, 당신은 블록의 클래스 별칭이 page/template_links입니다 볼 수 있습니다. 즉, 블록의 PHP 클래스는 Mage_Page_Block_Template_Links입니다. 블록이 어떻게 동작하는지 보려면 app/code/core/Mage/Page/Block/Template/Links.php 파일을 엽니 다. 모든 블록 템플릿 파일을 가지고 있지만, 클래스 정의에이처럼 보이는해야 : 계속 읽기 및 템플릿 파일 생성자에서 설정되어있는 것을 볼 수

class Mage_Page_Block_Template_Links extends Mage_Core_Block_Template 

: 그래서

protected function _construct() 
{ 
    $this->setTemplate('page/template/links.phtml'); 
} 

찾으려는 템플릿 파일은 page/template/links.phtml입니다.

+0

대단히 감사합니다. – Ruiwant

관련 문제