是否可以在Magento中为bunlded产品使用自定义“选择”模板?

时间:2015-04-25 14:55:21

标签: php magento magento-1.9 magento-1.9.1

我正在创建一个特定的捆绑产品,需要对select和checkbox模板进行一些自定义更改。

据说我可以在产品中添加自定义更新布局,但我所做的一切似乎都无法定位新的select.phtml模板。

<reference name="product.info.options.wrapper">
 <!-- THIS WORKS -->
 <block type="bundle/catalog_product_view_type_bundle" name="product.info.bundle.options" as="type_bundle_options" template="bundle/catalog/product/view/type/bundle/*custom*.phtml">
  <action method="addRenderer">
    <type>select</type>
    <block>bundle/catalog_product_view_type_bundle_option_select</block>  
    <!-- THIS DOESN'T WORK -->
    <template>*custom_folder*/bundle/catalog/product/view/type/bundle/option/*custom*-select.phtml</template>
  </action>
 </block>
 <action method="insert"><block>product.info.bundle.options</block></action>
</reference>

查看catalog.xml,它看起来像复选框,并选择等等...指向模板,但不是在bundle.xml中。

而且,我当然可以覆盖主题 / template / bundle / catalog / ... etc ../ option / select.phtml中的默认模板......但我真的需要一个特定的一种产品的模板......不是全部。

我希望有人对此有所了解?也许我的方式错了?

1 个答案:

答案 0 :(得分:0)

  

等/ config.xml中

<frontend>
    <events>
        <core_layout_block_create_after>
            <observers>
                <change_bundle_select_template>
                    <type>singleton</type>
                    <class>company_module/observer</class>
                    <method>bundleChangeTemplate</method>
                </change_bundle_select_template>
            </observers>
        </core_layout_block_create_after>
    </events>
</frontend>
  

型号/ Observer.php

public function bundleChangeTemplate($observer)
{
    if ($observer->getBlock() instanceof Mage_Bundle_Block_Catalog_Product_View_Type_Bundle_Option_Select) {
        $observer->getBlock()->setTemplate('bundle/catalog/product/view/type/bundle/option/sel.phtml');
    }
}