Добавьте пользовательский 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, не изменяя файл?

Author: Raphael at Digital Pianism, 2016-08-30

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>
 3
Author: Raphael at Digital Pianism, 2016-08-30 09:42:08

Это должно быть

<reference name="header">
     <block type="core/template" name="textblock" template="page/html/textblock.phtml"/>
</reference>
 0
Author: Murtuza Zabuawala, 2016-08-30 09:38:40