在Magento中重写/扩展产品类型

时间:2016-01-14 08:44:50

标签: magento magento-1.9

我想从Mage_Catalog_Model_Product_Type_Configurable覆盖一个函数。但是我不想在更新时破坏我的代码,所以我想为它编写一个小模块。

我的config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Company_SaleableIndex>
            <version>0.1.0</version>
        </Company_SaleableIndex>
    </modules>
    <global>
        <models>
            <catalog>
                <rewrite>
                    <product_type_configurable>Company_SaleableIndex_Configurable</product_type_configurable>
                </rewrite>
            </catalog>
        </models>
    </global>
</config>

我正在使用的课程:

<?php

class Company_SaleableIndex_Configurable extends Mage_Catalog_Model_Product_Type_Configurable {

    public function isSalable($product = false)
    {
        die('asdf');
    }

}

模块本身似乎工作正常,因为我一旦激活它就会在前端出现错误。 Rewrite似乎也在起作用,因为如果我删除它,就不会抛出任何错误。

Fatal error:  Call to a member function setConfig() on boolean in /var/www/sites/magento/app/code/core/Mage/Catalog/Model/Product/Type.php on line 80

我在Apache上使用Magento 1.9.0.1。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

试试这个:

<?xml version="1.0"?>
<config>
    <modules>
        <Company_SaleableIndex>
            <version>0.1.0</version>
        </Company_SaleableIndex>
    </modules>
    <global>
        <models>
            <company_saleableIndex>
                <class>Company_SaleableIndex_Model</class>
            </company_saleableIndex>
            <catalog>
                <rewrite>
                    <product_type_configurable>Company_SaleableIndex_Model_Configurable</product_type_configurable>
                </rewrite>
            </catalog>
        </models>
    </global>
</config>

然后,在Company / SaleableIndex / Model

中创建一个php文件名Configurable.php

希望这个帮助