Итак, у меня есть пустой пакет, в котором хранится local.xml
(Пути здесь не описываю, все кеши отключены, журналы ошибок включены).
Я добавил статический блок в админку. Он называется «two_level_links».
Затем я добавил код в local.xml:
<?xml version="1.0"?>
<layout version="0.1.0">
<default>
<reference name="header">
<remove name="top.links"/>
<block type="cms/block" name="topTwoLevelLinks">
<action method="setBlockId">
<block_id>two_level_links</block_id>
</action>
</block>
</reference>
</default>
</layout>
В заголовочном файле phtml назовите его:
<?php echo $this->getChildHtml('topTwoLevelLinks') ?>
top.links исчез, но topTwoLevelLinks не появился.
Затем я посмотрел на Mage_Core_Model_Layout_Update и установил var_dump для getFileLayoutUpdatesXml [$layoutXml]. В источнике есть мой блок.
Не могу понять, что мне делать дальше. Как его отладить? Или где я делаю неправильно?
<remove />
и<reference />
оба работают в контексте объекта макета, поэтому нет необходимости вкладывать вызовы — вы можете просто обратиться к блоку непосредственно под дескриптором обновления макета. Кроме того, атрибут версии для<layout />
не анализируется, так что его тоже можно оставить отключенным. - person benmarks   schedule 09.12.2011