2016-07-24 10 views
1

私は100ドルからニュースレターにクーポンコードを追加する必要があります。私は、Magentoの2にクーポンコードを生成する方法自動的

->setTemplateVars(
['subscriber' => $this, 
'coupon_code' => $this->getCouponCode() 
]) 

protected function getCouponCode() { . . . . . . return $couponCode; }

sendConfirmationSuccessEmail

方法で\ Magentoの\ニュースレター\モデル\サブスクライバーを書き直しましたか?

答えて

0

ショッピングカート価格ルールを定義しましたか?もしそうでなければ、それが始まるところです。管理領域で、[プロモーション]> [ショッピングカート価格ルール]> [新しいルールの追加]に移動し、[自動生成を使用]を選択した特定のクーポンを定義します。

提供する特定の割引のルールを定義したら、ルールを保存し、作成したルールを示すショッピングカート価格ルールの行からルールIDを書き留めます。

次に、作成したルールのルールIDを使用して、以下のようなものを追加します。

を以下の機能は、以下のオプションを持つ連想配列を取ります。

RULE_ID =ルールのID、上から

数量=クーポンコードの数は、各生成されたクーポンコードの

長さ=長さを生成するためにMagentoのに指示する

形式=アルファベット(アルファベット文字の場合)またはアルファベット(アルファベットの場合)または数字(数字コードの場合)

protected function getCouponCode($couponData) 
{ 
    $rule = $this->_loadSalesRule($ruleId); 
    // Reference the MassGenerator on this rule. 
    /** @var Mage_SalesRule_Model_Coupon_Massgenerator $generator */ 
    $generator = $rule->getCouponMassGenerator(); 
    // Validate the generator 
    if (!$generator->validateData($couponData)) { 
     $this->_critical(Mage::helper('salesrule')->__('Coupon AutoGen API: Invalid parameters passed in.'), 
      Mage_Api2_Model_Server::HTTP_BAD_REQUEST); 
    } else { 
     // Set the data for the generator 
     $generator->setData($couponData); 
     // Generate a pool of coupon codes for the Generate Coupons rule 
     $generator->generatePool(); 
    } 
} 
関連する問題