Добавьте пользовательский phtml в local.xml
С помощью моего local.xml
я уже могу добавлять файлы CSS и JS. Теперь я хочу добавить файл .phtml
в файл rwd/default/layout/page.xml
, но это не сработает.
В файле page.xml
есть блок с именем "заголовок". Я сделал ссылку на него в своем собственном файле local.xml
следующим образом:
<reference name="header">
<block type="page/html_textblock" name="textblock" template="page/html/textblock.phtml"/>
</reference>
Блок внутри ссылки указывает на файл textblock.phtml, который содержит только предложение:
hey there
Как мне показать это предложение на page.xml
, не изменяя файл?
2 answers
Ну, на мой взгляд, здесь есть две проблемы.
Во-первых, ссылка на блок не обязательно будет отображать его.
Это зависит от шаблона блока, на который вы ссылаетесь.
В вашем случае header.phtml
не отображает автоматически весь свой дочерний блок с помощью следующего кода:
echo $this->getChildHtml();
Действительно, этот шаблон явно отображает блок, передавая имя блока в качестве аргумента приведенному выше коду.
Таким образом если вы хотите отобразите свой блок, вам нужно будет изменить header.phtml
и добавить к нему следующий код:
echo $this->getChildHtml('textblock');
Кроме того, Я не думаю, что в Magento есть какой-либо тип блока page/html_textblock
из коробки.
Если вы хотите отобразить содержимое шаблона , вы можете сделать следующее:
<block type="core/template" name="textblock" template="page/html/textblock.phtml"/>
Если вы просто хотите отобразить некоторый жестко закодированный текст , вы можете сделать следующее:
<block type="core/text" name="textblock">
<action method="setText">
<text><![CDATA[Hey There]]></text>
</action>
</block>
Это должно быть
<reference name="header">
<block type="core/template" name="textblock" template="page/html/textblock.phtml"/>
</reference>