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を提供するapplied_rule_idsを取得できるため簡単です。たとえば、同じアイテムに適用される複数の販売ルールを設定して、applied_sales_rule_idsが1つだけでなくすべての適用ルールを提供するようにすることができます。

販売ルールのコレクションをロードして、product_ids列にフィルターを追加してから、製品のエンティティIDを渡すことができます。この投稿では、いくつかのコード例を使用してこれを調査し、役立つ場合があります。

于 2012-11-28T00:19:28.393 に答える
2

を使用してみてくださいMage_CatalogRule_Model_Resource_Rule::getRulesFromProduct()

于 2012-11-28T00:28:01.137 に答える