Расширение виртуального продукта Magento - PullRequest
0 голосов
/ 13 марта 2012

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

config.xml

<catalog>
        <product>
            <type>
                <iasoproduct translate="label" module="catalog">
                    <label>Iaso Product</label>
                    <model>iasoproduct/product_type_iaso</model>
                    <is_qty>1</is_qty>
                    <index_data_retreiver>iasoproduct/catalogIndex_data_iaso</index_data_retreiver>
                    <price_model>iasoproduct/product_price</price_model>
                    <composite>0</composite>
                </iasoproduct>
            </type>
            </product>        
    </catalog>

Data \ Iaso.php

class Zimzap_IasoProduct_Model_CatalogIndex_Data_Iaso extends Mage_CatalogIndex_Model_Data_Virtual
{
    public function getTypeCode()
    {
        return Zimzap_IasoProduct_Model_Product_Type::TYPE_IASO_PRODUCT;
    }
}

Продукт \ Тип \ Iaso.php

class Zimzap_IasoProduct_Model_Product_Type_Iaso extends Mage_Catalog_Model_Product_Type_Virtual
{


}

Продукт \ Цена.php

class Zimzap_IasoProduct_Model_Product_Price extends Mage_Catalog_Model_Product_Type_Price
{

}

Продукт \ Тип.php

class Zimzap_IasoProduct_Model_Product_Type extends Mage_Catalog_Model_Product_Type_Virtual
{
    const TYPE_IASO_PRODUCT = 'iasoproduct';
}

Что мне не хватает?! ??

1 Ответ

2 голосов
/ 13 марта 2012

Если вы посмотрите на метод Mage_Catalog_Helper_Product_View::initProductLayout($product, $controller), вы увидите, как magento добавляет в макет дополнительный дескриптор обновления макета.Итак, вам нужно создать новое обновление макета с PRODUCT_TYPE_iasoproduct дескриптором.Взгляните на макет catalog.xml, здесь вы можете найти дескриптор PRODUCT_TYPE_configurable, используйте его в качестве справочного материала для создания собственного обновления макета.

...