2014-03-26 2 views
0

Magento에서 이것을 이해해야합니다. page.xml에서 다음 블록 :Magento 레이아웃 XML

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

나는 다음과 같은 블록 : 내가 app/code/core/Mage/Page/Block/Html/Welcome.php를 조회해야하는 이유

<block type="page/html_welcome" name="welcome" as="welcome"/> 

에 대한 다음 app/design/package/theme/template/page/template/links.phtml

필요하십니까?

답변

2

: 당신은 클래스 내부를 보면 클래스가 Mage_Page_Block_Template_Links하고 파일에서 찾을 수 있습니다 block type="page/template_links"에 대한 app/code/core/Mage/Page/Block/Template/Links.php 은 다음과 같이 표시됩니다

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

이 파일을 가리키고 app/design/package/theme/template/page/template/links.phtml 두 번째 블록의 클래스는 환영 메시지 만 설정하고 템플릿이 없습니다.

+0

감사합니다. Emi,이 문제를 이해했습니다. – user3401141

+0

toHtml, _toHtml, getChildHtml, _getChildHtml과 같은 함수에서 추상 클래스 Mage_Core_Block_Abstract를 살펴보고 이전 클래스를 확장하는 Mage_Core_Block_Template 클래스를 확인해야합니다 – Emi

0

magento에서는 xml로 템플릿을 설정하거나 Action에서 템플릿을 설정합니다. 귀하의 XML에서, 당신은 블록 파일로 설정합니다. 그래서 당신은 함수를 액세스 할 수있는 템플릿 내부 블록 함수를 호출하여. welcome.php에서 값을 설정하고 템플릿의 값을 얻을 수 있습니다. 당신이 블록 클래스 내에서 볼 필요가 두 경우 모두

관련 문제