Ссылка на шаблон файла макета Magento? - PullRequest
2 голосов
/ 27 октября 2011

Я изучил базовый урок по Magento Template. Тут меня смутил вопрос.

Посмотрите на этот кусок кода в 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>

Итак, я нахожу блок top.links в файле макета page.xml. Я хочу знать, какой шаблон будет использовать этот блок. Но в этом теге нет атрибута шаблона. Кто-нибудь может сказать мне, почему здесь нет атрибута шаблона? Если это так, как Magento может знать, какой шаблон должен ссылаться?

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

Нам сказали, что в блоке заголовка есть блок top.links

1 Ответ

10 голосов
/ 27 октября 2011

В макете XML вы можете увидеть псевдоним класса для блока 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...