2013-02-22 2 views
0

Я пытаюсь показать блок продажи креста в его нормальном месте, а также в нижней части страницы. Существует более одного файла шаблона phtml, поэтому $ this-> getChildHtml не работает во втором местоположении, так как блок настроен только на файл cart.phtml.Как я могу отобразить блок пурпурного цвета в нескольких местах?

Как я могу отобразить один и тот же блок в нескольких файлах шаблонов? Я не помещаю эти изменения в свой файл local.xml и не хочу изменять основные файлы шаблонов Magento.

ответ

0

Ядро директивы макет для этого блока устанавливается в качестве дочернего checkout.cart блока:

<checkout_cart_index translate="label"> 
    <!-- ... --> 
    <reference name="content"> 
     <block type="checkout/cart" name="checkout.cart"> 
      <!-- ... --> 
      <block type="checkout/cart_crosssell" name="checkout.cart.crosssell" as="crosssell" template="checkout/cart/crosssell.phtml"/> 
     </block> 
    </reference> 
</checkout_cart_index> 

Чтобы добавить его в сноске, вы может нужно только установить другой родитель -child отношения в вашем local.xml:

<checkout_cart_index> 
    <reference name="footer"> 
     <action method="insert"><!-- or "append" to add to the end --> 
      <child>checkout.cart.crosssell</child> 
     </action> 
    </reference> 
</checkout_cart_index> 

Этот подход основан на странице акции /HTM l/footer.phtml, который содержит пустой вызов getChildHtml(), что заставляет его отображать все дочерние блоки.

Обратите внимание, что сноска блок класса Mage_Page_Block_Html_Footer имеет никогда не истекающий срок службы block_html кэша, и он не оценивает содержание ребенка для его записи кэша. Возможно, вам придется отключить кеш для этого блока или переписать класс блока для учета разнообразного содержимого блока перекрестных помех.

+0

Это действительно полезно. Благодаря! Чтобы избежать проблемы кэширования, как настроить пользовательский блок? Я понимаю, что мне нужно будет сменить имя ссылки на новое имя блока, но как мне настроить этот блок? – ryanv

+0

Синтаксис перезаписи блока: http://stackoverflow.com/a/13054046/833795 – benmarks

Смежные вопросы