Magento - 在计算价格之上添加百分比

时间:2010-11-18 21:53:21

标签: magento

不确定是否有人可以帮忙解决这个问题?

我们需要在计算价格之上添加一个百分比而不是基本价格。

e.g。

基价= 10英镑

选择1 选项1 +£10 选项2 +£20

选择2 选项1 + 10% 选项2 + 20%

我们需要计算baseprice +(选项1中的选项1),然后在我们需要添加的小计(选项2中的选项1)到该小计价格而不是基本价格之上。

从目前为止我们所看到的所有百分比都是基本价格而不是小计来计算的。这就完全可以了。

1 个答案:

答案 0 :(得分:2)

粗略地说,您应该创建自定义产品类型,以便您可以提供此自定义计算,而无需更改可能仍用于商店中其他产品的“简单”产品类型。真正的工作将以它的价格模型完成。

定义新类型很简单:

<config>
    <global>
        <catalog>
            <product>
                <type>
                    <CUSTOM>
                        <label>CUSTOM PRODUCT TYPE</label>
                        <model>catalog/product_type_abstract</model>
                        <priceModel>YOURMODULE/product_type_CUSTOM<priceModel>
                    </CUSTOM>
                </type>
            </product>
        </catalog>
    </global>
</config>

模块需要an install script,它会将各种与价格相关的属性分配给自定义类型,否则它们将不会显示在产品的编辑页面上。

现在需要一个类YOURMODULE_Model_Product_Type_CUSTOM_Price,它应该来自Mage_Catalog_Model_Product_Type_Price。新类应覆盖以下方法:

protected function _applyOptionsPrice($product, $qty, $finalPrice)

查看父方法的工作方式,然后按照您的意愿使其工作。

我想你可能会遍历所有产品选项并保留两个总价,其中一个是固定价格,另一个是百分比。将固定值添加到基本价格,然后乘以百分比值。

然后剩下的就是使用新类型在管理员中添加新产品。