1
Magentoでは、お客様が発注した際に自動生成されたクーポンコードを注文確認メールで送信します。クーポンコードは一意でなければならず、一度使用することができ、48時間有効です。 これはどのように達成できますか?詳細な回答は高く評価されます。Magentoクーポンコード(オーダー確認メール)
おかげで、
Magentoでは、お客様が発注した際に自動生成されたクーポンコードを注文確認メールで送信します。クーポンコードは一意でなければならず、一度使用することができ、48時間有効です。 これはどのように達成できますか?詳細な回答は高く評価されます。Magentoクーポンコード(オーダー確認メール)
おかげで、
あなたはクーポンコードの変数を持つように注文確認メールのテンプレートをカスタマイズする必要があります。 クーポンコードを表示するテンプレートに次のコードを追加します。
{{var order.getCouponCode()}}
イベントsales_order_place_afterの新しいオブザーバを作成します。
<sales_order_place_after>
<observers>
<add_coupon>
<class>CompanyName_ModuleName_Model_Observer</class>
<method>setCouponCode</method>
</add_coupon>
</observers>
</sales_order_place_after>
必要な修正を加えて次のコードを挿入してください。
public function setCouponCode(Varien_Event_Observer $observer) {
$order = $observer->getEvent()->getOrder();
//code to generate coupon
//create new shopping cart rule in admin with "Use Auto Generation" and place rule id below
$ruleId = 'place here your rule id';
$rule = Mage::getModel('salesrule/rule')->load($ruleId);
// Define a coupon code generator model instance
// Look at Mage_SalesRule_Model_Coupon_Massgenerator for options
$generator = Mage::getModel('salesrule/coupon_massgenerator');
$parameters = array(
'rule_id' => $ruleId,
'qty' => 1,
'uses_per_coupon'=>$rule->getUsesPerCoupon(),
'uses_per_customer'=>$rule->getUsesPerCustomer(),
'format'=>'alphanum',
'dash'=>4,
'prefix'=>'ABCD-EFGH-',
'suffix'=>'-WXYZ',
'length'=>8
);
$generator->setData($parameters);
$code = $this->generatePool($generator);
$generated = $generator->getGeneratedCount();
$order->setCouponcode($code);
}
希望すると、これが役立ちます。
要件は解決されていますか? – Rathinam