Php Magento从产品id(或实体id)获取salesrule id

Php Magento从产品id(或实体id)获取salesrule id,php,magento,Php,Magento,我们正在使用Magento Enterprise 1.10,我需要一种方法来获取类别页面以及产品详细信息页面上每个产品的salesrule_id。使用购物车时,这非常容易 基本上,我只想做类似-->伪查询的事情 SELECT rule_id FROM salesrule WHERE entity_id = <entity_id) 从salesrule中选择规则\u id,其中实体\u id=产品没有附加销售规则,并且没有内置方法来加载给定产品的规则。在购物车页面上,这很容易,因为规则应用

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

基本上,我只想做类似-->伪查询的事情

SELECT rule_id FROM salesrule WHERE entity_id = <entity_id)

从salesrule中选择规则\u id,其中实体\u id=产品没有附加销售规则,并且没有内置方法来加载给定产品的规则。在购物车页面上,这很容易,因为规则应用于报价,并且在每个项目上,您都可以获得应用的\u规则\u ID,该ID为当前应用于报价项目的任何匹配规则的ID,该规则与产品对象不同。例如,您可以有多个应用于同一商品的销售规则,因此应用的\u sales\u rule\u id将为您提供所有应用的规则,而不仅仅是一个


您可以尝试加载一组销售规则,并在product_id列上添加一个筛选器,然后传入产品的实体id。这里通过一些代码示例对此进行了探讨,可能会有所帮助。

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


您可以尝试加载一组销售规则,并在product_id列上添加一个筛选器,然后传入产品的实体id。这里用一些代码示例来探讨这一点,可能会有所帮助。

尝试使用
Mage\u CatalogRule\u Model\u Resource\u Rule::getRulesFromProduct()
尝试使用
Mage\u CatalogRule\u Model\u Resource\u Rule::getRulesFromProduct()
谢谢Ashley,有趣的是我以为有人会这么说。我会看另一篇文章。谢谢您的回复。Zyava的回答是正确的。我在搜索销售规则模块,没有发现目录规则模块。定义的函数应该能帮到你。谢谢Ashley,有趣的是我以为有人会这么说。我会看另一篇文章。谢谢您的回复。Zyava的回答是正确的。我在搜索销售规则模块,没有发现目录规则模块。定义的函数应该为您完成这项工作。