When I use this code in layout Everything is good
<PRODUCT_TYPE_bundle>
<reference name="head">
<action method="addItem"><type>skin_js</type><name>js/chocolatebox/chocolatebox.js</name></action>
<action method="addItem"><type>js_css</type><stylesheet>chocolatebox/css/style.css</stylesheet></action>
</reference>
<reference name="product.info">
<action method="setTemplate">
<template>chocolatebox/chocolatebox.phtml</template>
</action>
</reference>
</PRODUCT_TYPE_bundle>
But I want to apply to my template using blocks. When i doing this my template is destroying
<?php
class Chocolate_Box_Block_Catalog_Product_View extends Mage_Catalog_Block_Product_View
{
public function _beforeToHtml(){
// /die();
$this->setTemplate("chocolatebox/chocolatebox.phtml");
}
}
config
<blocks>
<chocolatebox>
<class>Chocolate_Box_Block</class>
</chocolatebox>
<bundle>
<rewrite>
<catalog_product_view_type_bundle_option_radio>Chocolate_Box_Block_Catalog_Product_View_Type_Bundle_Option_Radio</catalog_product_view_type_bundle_option_radio>
</rewrite>
</bundle>
<catalog>
<rewrite>
<product_view>Chocolate_Box_Block_Catalog_Product_View</product_view>
</rewrite>
</catalog>
</blocks>
chocolatebox/chocolatebox.phtml
template is being set correctly by this layout XML - the<action />
tag needs to either be a child of ablock
or<reference />
tag OR it needs to have ablock=""
attribute declaration._beforeToHtml()
should beprotected
notpublic
scope, and it shouldreturn
either the parent or$this
.