我的 magento 安装有免费送货购物车规则,以及优惠券规则。输入优惠券后,免费送货就消失了。这是不可取的,但 Magento 的一个已知条件:Magento 免费送货和优惠券折扣 注意:如果有人知道如何在不覆盖的情况下纠正该问题,那将是可取的。
我已经为此工作了大约 3 个小时。我搜索了 SO、Google 和其他人,但找不到解决方案。
问题:
我正在尝试编写一个模块来纠正基于这篇文章的行为:
Magento Issue with Cart Price
我试图覆盖的类是Mage_SalesRule_Model_Resource_Rule_Collection
使用Alan Storm 的免费工具,我发现 uri 是salesrule/resource_rule_collection
,
并进行了一些手动调查,该类位于:
app/code/core/Mage/SalesRule/Model/Resource/ Rule/Collection.php
这里还有一个类,它扩展了上述文件中的类:
app/code/core/Mage/SalesRule/Model/Mysql4/Rule/Collection.php
(我应该覆盖其中的哪一个?)
对于我的一生,我找不到合适的 config.xml 语法来覆盖所需的类。
我的配置目前看起来像这样:
<config>
<modules>
<My_Couponrule>
<version>1.0.0</version>
</My_Couponrule>
</modules>
<global>
<models>
<salesrule>
<rewrite>
<resource_rule_collection>My_Couponrule_Model_Resource_Rule_Collection</resource_rule_collection>
</rewrite>
</salesrule>
</models>
</global>
但是,我已经仔细尝试了我可以推断出的每一种组合,但它们都没有奏效:
<salesrule_resource_rule><rewrite><collection>
<salesrule_resource><rewrite><rule_collection>
<salesrule_resource><rewrite><collection>
<salesrule><rewrite><resource_collection>
<salesrule><rewrite><resource_rule_collection>
<salesrule><rewrite><rule_collection>
<salesrule_mysql4><rewrite><rule_collection>
<salesrule_mysql4_rule><rewrite><collection>
注意:
1. 我知道正在加载配置文件,我已经检查了 System->Configuration->Advanced
2. 我进一步知道正在加载配置文件,因为我已经将加载的类输出到浏览器,并且我尝试覆盖其他类并看到它成功输出了正确的类
3. 我知道我所做的每个更改都是通过我添加的另一个重写加载的(并且每次都修改)只是为了验证更改是否正确上传。
3. 是的,我非常小心地确保使用正确匹配的结束标签关闭标签
4. 缓存被禁用,因此文件未加载不是问题
请帮忙。我头发不多了...