1

選択したお支払い方法に応じて、商品ページに直接割引価格を表示したいと思います。

基本的に、私が必要としているのは、支払い方法に適用されるショッピングカートのルールを取得する方法です。したがって、これを使用して、次のような支払い方法X割引のテーブルを作成できます。

現金:$ 90(10%割引)
CC:$ 100(正規価格)
転送:$ 100(正規価格)

これまでのところ、ショッピングカートのルールにアクセスする方法を見つけることができませんでした。洞察はありますか?

アップデート:

疑問に思っている人のために、私はショッピングカートのルールを取得する方法を見つけました。実際にはかなり単純です:

$model = Mage::getModel('salesrule/rule')
        ->getCollection();

この情報を使用して、ルールをループし、支払い方法に適用されるルールを見つけることができます。

$conditions = unserialize($item['conditions_serialized']);

しかし、この方法は手間がかかりすぎ、ルールが複雑な場合は複雑になる可能性があることに気付きました。常に変更されるわけではないので、IDで必要なルールを取得し、割引値を取得することにしました。

Magentoにすべてを計算させる方法を知っている場合、「ユーザーがこの支払い方法を選択した場合、他のすべて(ユーザーグループ、カタログ割引など)に加えて、最終的な価格はどうなりますか?」

4

1 に答える 1

0
$model = Mage::getModel('salesrule/rule')
        ->getCollection();

foreach($model as $item){
    // check, do whatever and get discount
}
于 2013-03-14T19:36:14.893 に答える