Magento1.9 - добавить блок на страницу товара


Кажется стандартным вариантом использования, но я не нашел рабочего решения, поэтому публикую его здесь.

В base/default/layout/catalog.xml Я вижу:

<catalog_product_view translate="label">
    <reference name="content">
        <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
            ....
        </block>
    </reference>
</catalog_product_view>

Мне нужно добавить блок в блок product.info, поэтому в моем local.xml Я попытался:

<catalog_product_view>
    <reference name="product.info">
        <block type="core/product_view" name="sticazzi" as="sticazzi" template="catalog/product/view/sticazzi.phtml"/>
    </reference>
</catalog_product_view>

И в моем view.phtml я ставлю:

<?php echo $this->getChildHtml('sticazzi') ?>

Это не работает, что не так? Спасибо

Author: davideghz, 2017-05-11

2 answers

Ваш код наполовину корректен, измените type="core/product_view" на type="catalog/product_view"

<reference name="product.info">
    <block type="catalog/product_view" name="sticazzi" as="sticazzi" template="catalog/product/view/sticazzi.phtml"/>
</reference>

Если вы используете <reference name="content">, это загрузит блок без getChildHTml

 2
Author: Ahmed Elawadi, 2017-05-11 10:54:33

Если вы хотите отобразить его в представлении.phtml, то вам нужно использовать этот ссылочный блок, как показано ниже

<reference name="product.info">
    <block type="catalog/product_view" name="sticazzi" as="sticazzi" template="catalog/product/view/sticazzi.phtml"/>
</reference>

Теперь вы можете использовать его в view.phtml

<?php echo $this->getChildHtml('sticazzi') ?>
 1
Author: Suresh Chikani, 2017-05-11 10:44:58