0

我们正在使用 Magento Enterprise 1.10,我需要一种方法来获取类别页面和产品详细页面上每个产品的 salesrule_id。当您使用购物车时,这非常容易。

基本上我想做的就是这样 --> 伪查询

SELECT rule_id FROM salesrule WHERE entity_id = <entity_id)

你知道在购物车之外有什么方法可以做到这一点吗?如果该产品存在,我可以使用返回 rule_id 的产品 ID 调用方法吗?

任何建议都会对我有很大帮助。

4

2 回答 2

2

产品没有附加销售规则,也没有内置方法来加载给定产品的规则。在购物车页面上这很容易,因为该规则被应用于报价,并且在每个项目上,您都可以获得应用规则 ID,它为您提供当前应用于报价项目的任何匹配规则的 ID,这与产品对象不同。因此,例如,您可以有多个适用于同一个项目的销售规则,因此 applied_sales_rule_ids 将为您提供所有应用的规则,而不仅仅是一个。

您可以尝试加载销售规则集合并在 product_ids 列上添加过滤器,然后传入产品的实体 ID。此处的这篇文章通过一些代码示例对此进行了探讨,可能会有所帮助。

于 2012-11-28T00:19:28.393 回答
2

尝试使用Mage_CatalogRule_Model_Resource_Rule::getRulesFromProduct().

于 2012-11-28T00:28:01.137 回答