Я использую расширение Simple Configurable Products от OrganicInternet.
У меня есть несколько вкладок в каждом продукте с соответствующей информацией.
Я редактирую OrganicInternet/SimpleConfigurableProducts/Catalog/Block/Product/View/Type/Configurable.php
Логика следующая - (это строит JSON с данными простых продуктов):
class OrganicInternet_SimpleConfigurableProducts_Catalog_Block_Product_View_Type_Configurable
extends Mage_Catalog_Block_Product_View_Type_Configurable
{
public function getJsonConfig()
{
$config = Zend_Json::decode(parent::getJsonConfig());
$childProducts = array();
....
foreach ($this->getAllowProducts() as $product) {
.....
if (Mage::getStoreConfig('SCP_options/product_page/change_attributes')) {
$childBlock = $this->getLayout()->createBlock('catalog/product_view_colors');
$childProducts[$productId]["colors"] = $childBlock->setTemplate('catalog/product/view/colors.phtml')->setProduct($product)->toHtml();
}
......
}
Блок рендерится правильно, но по какой-то причине он не использует правильный Продукт. Я подозреваю, что метод setProduct($product)
не работает. (Используется «супер» продукт), но когда я выполняю print_r (get_class_methods ($ product)), он показывает правильный простой продукт.
Есть идеи?