Legen Sie das Ablaufdatum des Gutscheins für den einzelnen Gutschein fest

9

Ich möchte einen Gutscheincode erstellen und muss auch das Ablaufdatum festlegen. Magento bietet an, das Ablaufdatum nur für Promotion-Regeln festzulegen. Dies betrifft global alle Gutscheine innerhalb dieser Regel. Auf jeden Fall hat die Datenbanktabelle salesrule_couponauch ein Feld, expiration_dateaber es scheint, dass dieses Feld nirgendwo verwendet wird.

Hat es jemand geschafft, das Ablaufdatum für einen einzelnen Gutschein erfolgreich festzulegen? Andernfalls denke ich, dass der einzige Weg, dies richtig zu machen, darin besteht, einen Beobachter zu erstellen, der die Eingabe des Gutscheincodes beobachtet und den Gutschein löscht, wenn er abgelaufen ist, und somit den Gutscheincode unbrauchbar macht, bevor er angewendet wird.

Irgendwelche Ideen werden geschätzt.

JohnyFree
quelle

Antworten:

1

Ich habe keine Lösung dafür gefunden, aber ich habe einen alternativen Weg gewählt, um dies zu erreichen.

  1. Regel erstellen, die immer nach Datum abgelaufen ist.
  2. Drücken Sie zustandsbasierte Gutscheincodes basierend auf cron darauf.

Code:

$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(); 
Ravin
quelle
-5

Wenn ich Sie richtig verstehe, möchten Sie das Ablaufdatum für Ihren Gutschein festlegen.

Dann sollte diese Funktion bereits in Magento verfügbar sein.

Überprüfen Sie diesen Screenshot:

Geben Sie hier die Bildbeschreibung ein

Gehen Sie zu Promotions > Shopping cart price ruleund wählen Sie Ihre gewünschte Regel oder erstellen Sie eine neue.

Am unteren Rand des Abschnitts Regelinformationen sehen Sie diese Einstellung. Geben Sie einfach das Datum für " Bis Datum" ein und es läuft an diesem Datum ab.

Hoffe das hilft.

Adarsh ​​Khatri
quelle
1
Ich brauche für einzelne Gutscheine, nicht für alle Gutscheine zusammen. Innerhalb der Regel generiere ich automatisch Gutscheincodes und jeder Gutscheincode sollte ein anderes Datum haben. Die von Magento bereitgestellte Funktionalität setzt das Datum für alle Gutscheine innerhalb derselben Regel gleich.
JohnyFree
In diesem Fall sollten Sie einen Diff-Gutschein für denselben Artikel mit Diff-Exp-Datum erstellen.
Adarsh ​​Khatri
1
Ich brauche alle Gutscheincodes, um innerhalb derselben Preisregel zu sein. Ich möchte nicht Tausende von Preisregeln haben. Und Magento bietet Ihnen nicht an, ein Ablaufdatum pro Gutschein zu erstellen, sondern nur pro Preisregel.
JohnyFree