Для чего нужен вызов product_type_data_extra на странице продукта?

все еще работаю над Magento здесь.

В настоящее время я просматриваю блок «просмотр» страницы продукта и, в частности, блок, помеченный product_type_data в атрибуте as. Его тип — catalog/product_view_type_<type>, где <type> может быть simple, configurable и т. д.

Я понимаю, для чего это нужно: отображение доступности продукта, а также его цены, а для загружаемых продуктов также отображаются загружаемые образцы. Здорово.

XML макета модуля Checkout также добавляет блок под названием макета product.info.<something>.extra, где <something> — тип продукта (простой, настраиваемый и т. д.). Он вызывается своим родительским блоком как product_type_data_extra. Я обнаружил, что модуль Cataloginventory добавляет свой блок в этот блок и разместил возможные шаблоны в папке templates/cataloginventory/stockqty/ (default.phtml и composite.phtml).

Вопросы:
Для чего блок называется product_type_data_extra?
Почему я не вижу добавления, которые я делаю в вышеупомянутых файлах шаблонов, даже если они происходят за пределами блока if размещены вокруг всего его обычного содержания?

Спасибо.

P.S. Я использую Commerce Bug Алана Сторма, и он говорит, что блок создается, и шаблон, который он упоминает, действительно является шаблоном, который я нашел (templates/cataloginventory/stockqty/default|composite.phtml)

EDIT:
Ответ на первый вопрос приведен ниже, ответ на второй вопрос:
Дополнения к этому шаблону не видны, поскольку настроено пороговое значение «Осталось только X». быть равным нулю или ниже, чем количество товара, на которое вы смотрите, на складе.


person pancake    schedule 25.01.2012    source источник


Ответы (1)


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

Если вы посмотрите на layouts/downloadable.xml, вы увидите, что он ссылается на файл шаблона для этого блока. Действительно, это один из файлов шаблонов, которые вы найдете в Commerce Bug Алана Сторма.

<PRODUCT_TYPE_downloadable translate="label" module="downloadable">
    <label>Catalog Product View (Downloadable)</label>
    <reference name="product.info">
        <block type="downloadable/catalog_product_view_type" name="product.info.downloadable" as="product_type_data" template="downloadable/catalog/product/type.phtml">
             <block type="downloadable/catalog_product_samples" name="product.info.downloadable.samples" as="samples" template="downloadable/catalog/product/samples.phtml"/>
             <block type="cataloginventory/stockqty_default" name="product.info.downloadable.extra" as="product_type_data_extra" template="cataloginventory/stockqty/default.phtml"/>
        </block>
    </reference>
    <reference name="product.info.options.wrapper">
        <block type="downloadable/catalog_product_links" name="product.info.downloadable.options" as="type_downloadable_options" before="-" template="downloadable/catalog/product/links.phtml"/>
        <action method="insert"><block>product.info.downloadable.options</block></action>
    </reference>
</PRODUCT_TYPE_downloadable>

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

person CCBlackburn    schedule 25.01.2012
comment
Спасибо за ответ, вы ответили на мой первый вопрос, но почему, когда я хочу подтвердить, что используемый файл шаблона на самом деле является тем, который предлагает Commerce Bug, добавляя к нему маркеры, они не отображаются в интерфейс? - person pancake; 26.01.2012
comment
Ничего, нашел: code/core/Mage/CatalogInventory/Block/Stockqty/Default.php переопределяет метод _toHtml(), возвращая пустую строку на основе того же условия, которое используется в его шаблоне. Надо было туда заглянуть. Спасибо, что поделились своим мнением по этому вопросу, я уверен, что ваш ответ правильный. - person pancake; 26.01.2012