Magento - просмотр опций продукта или файл контроллера - PullRequest
4 голосов
/ 18 февраля 2011

В файле $MAGENTO_PATHapp/design/frontend/base/default/template/catalog/product/view/options/wrapper.phtml я вижу следующую строку кода:

<?php echo $this->getChildHtml('', true, true);?>

Это отвечает за печать параметров продукта на странице продукта. Я хочу понять и изменить HTML-контент, который производит эта строка кода, но я не могу найти вид или контроллер, относящиеся к нему. Например, допустим, я хочу программно добавить символы & nbsp; к innerHTML каждого элемента option в раскрывающемся списке, какой файл phtml, php или html мне редактировать?

Я надеюсь, что ответ на этот вопрос поможет мне понять, как получить варианты продукта, что, в свою очередь, поможет мне решить эту более насущную проблему:

Magento - Запрос параметров продукта

1 Ответ

7 голосов
/ 18 февраля 2011

При передаче пустого значения в любую из функций getChild используются все дочерние элементы. В этом случае getChildHtml(''... возвращает результат каждого из их toHtml выходов.

Чтобы узнать, что это за дети, нам нужно обратиться к файлу макета catalog.xml:

<block type="catalog/product_view" name="product.info.options.wrapper" as="product_options_wrapper" template="catalog/product/view/options/wrapper.phtml" translate="label">
    <label>Info Column Options Wrapper</label>
    <block type="core/template" name="options_js" template="catalog/product/view/options/js.phtml"/>
        <block type="catalog/product_view_options" name="product.info.options" as="product_options" template="catalog/product/view/options.phtml">
            <action method="addOptionRenderer"><type>text</type><block>catalog/product_view_options_type_text</block><template>catalog/product/view/options/type/text.phtml</template></action>
            <action method="addOptionRenderer"><type>file</type><block>catalog/product_view_options_type_file</block><template>catalog/product/view/options/type/file.phtml</template></action>
            <action method="addOptionRenderer"><type>select</type><block>catalog/product_view_options_type_select</block><template>catalog/product/view/options/type/select.phtml</template></action>
            <action method="addOptionRenderer"><type>date</type><block>catalog/product_view_options_type_date</block><template>catalog/product/view/options/type/date.phtml</template></action>
        </block>
    <block type="core/html_calendar" name="html_calendar" as="html_calendar" template="page/js/calendar.phtml"/>
</block>

Вы можете увидеть из этого беспорядка, что ваш блок-обертка имеет внука 'options', у которого есть несколько средств визуализации для различных типов возможных опций. Для раскрывающегося списка вам, вероятно, потребуется отредактировать catalog/product/view/options/type/select.phtml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...