個別クーポンのクーポン有効期限を設定する


9

クーポンコードを作成したいのですが、有効期限も設定する必要があります。Magentoはプロモーションルールに対してのみ有効期限を設定することを提案し、このルール内のすべてのクーポンにグローバルに影響します。とにかくデータベーステーブルの内部にsalesrule_couponもフィールドexpiration_dateがありますが、このフィールドはどこでも使用されていないようです。

誰かが個々のクーポンの有効期限をうまく設定できましたか?それ以外の場合、正しくする唯一の方法は、クーポンコードの入力を監視し、有効期限が切れた場合にクーポンを削除するオブザーバーを作成することであり、それにより、適用される前にクーポンコードが使用できなくなります。

どんなアイデアでも大歓迎です。

回答:


1

解決策は見つかりませんでしたが、別の方法で解決しました。

  1. 日付で常に期限切れになるルールを作成します。
  2. 条件ベースのクーポンコードをcronに基づいてプッシュします。

コード:

$couponCode = 'XZY';//auto-generated code or get collection of auto-generated               codes from a rule.
$oCoupon = Mage::getModel('salesrule/coupon')->load($couponCode, 'code');

$ruleName = 'referral_expired'; //existing rule with this name
$shoppingRule = Mage::getResourceModel('salesrule/rule_collection')->addFieldToFilter('name',$ruleName)->load()->getFirstItem();
$shoppingRuleId = $shoppingRule->getRuleId();
$oCoupon->setData('rule_id',$shoppingRuleId);
$oCoupon->save(); 

-5

私が正しく理解している場合は、クーポンの有効期限を設定する必要があります。

次に、この関数はmagentoですでに使用可能になっているはずです。

このスクリーンショットを確認してください:

ここに画像の説明を入力してください

Promotions > Shopping cart price rule目的のルールに移動して選択するか、新しいルールを作成します。

ルール情報セクションの下部に、この設定が表示されます。単に日付入力するには日付を、それがその日に期限切れになります。

お役に立てれば。


1
すべてのクーポンをまとめてではなく、個別のクーポンが必要です。ルールの内側では、クーポンコードを自動生成します。各クーポンコードには、異なる日付が必要です。Magentoが提供する機能は、同じルール内のすべてのクーポンにTo Dateを同じに設定します。
JohnyFree 2015

その場合は、同じアイテムのdiff exp日付のdiffクーポンを作成する必要があります。
Adarsh Khatri

1
すべてのクーポンコードが同じ価格ルール内にある必要があります。何千もの価格ルールを設定したくありません。また、Magentoはクーポンごとに有効期限を作成することを提供していませんが、価格ルールごとにのみ有効です。
JohnyFree 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.