Извините за странный титул, но я просто потратил полдня, пытаясь найти это, и я уверен, что ответ уже существует где-то, но я не могу его найти... поэтому я снова спрашиваю с названием для поиска, которое другие могут найдите один день.
В ответной теме magento я хочу, чтобы блок topLinks отображался как в чувствительном меню, которое отображается только в мобильном режиме, так и в нижнем колонтитуле. Поскольку оба этих объекта контролируются css и шириной страницы, мне нужно, чтобы они отображались в шаблоне одновременно. У меня это есть в page.xml
<block type="page/html_header" name="header" as="header">
<... lots of other stuff ...>
<block type="page/template_links" name="top.links" as="topLinks"/>
<... lots of other stuff ...>
</block>
Это работает отлично, когда я вызываю <?php echo $this->getChildHtml('topLinks');?>
<?php echo $this->getChildHtml('topLinks');?>
, но когда я помещаю следующее, также в page.xml только нижний колонтитул, а заголовка нет.
<block type="page/html_footer" name="footer" as="footer" template="page/html/footer.phtml">
<... lots of other stuff ...>
<block type="page/template_links" name="top.links" as="topLinks"/>
<... lots of other stuff ...> -->
</block>
Что я делаю неправильно, или как мне клонировать результаты одного блока во втором месте?
khartnett, спасибо за ваш ответ. Решение найдено здесь: как отображать toplinks на нижнем колонтитуле в magento?
чтобы быть ясным, это то, что я сделал:
1) удалите <block type="page/template_links" name="top.links" as="topLinks"/>
из нижнего колонтитула в page.xml
2) сохранить <?php echo $this->getChildHtml('topLinks');?>
<?php echo $this->getChildHtml('topLinks');?>
как есть в footer.phtml
3) Создайте новый файл макета в своей настраиваемой теме local.xml со следующим кодом:
<?xml version="1.0" encoding="UTF-8"?>
<layout>
<default>
<reference name="footer">
<action method="insert">
<block_name_to_insert>top.links</block_name_to_insert>
<sort_relative_to_other_childname/>
<sort_before_or_after/>
<alias>topLinks</alias>
</action>
</reference>
</default>
</layout>