Creating a shopping cart price rule in Magento automatically

后端 未结 2 991
无人及你
无人及你 2020-12-08 05:52

I\'d like to create a shopping cart price rule that gives a user 10% off their order when and if they complete a process on my Magento site.

There\'s a method here

2条回答
  •  醉梦人生
    2020-12-08 06:20

    Have a look at my code.It will add Action condition.

    $coupon_rule = Mage::getModel('salesrule/rule');
        $coupon_rule->setName($c_data[1])
        ->setDescription($c_data[2])
        ->setFromDate($fromDate)
     ->setToDate($toDate)
        ->setUsesPerCustomer(0)
        ->setCustomerGroupIds(array(0,1,2,3)) //an array of customer grou pids
        ->setIsActive(1)
     ->setCouponType(2)
     ->setCouponCode($c_data[0])
        ->setUsesPerCoupon(1)
    
        //serialized conditions.  the following examples are empty
        ->setConditionsSerialized('')
    
        ->setActionsSerialized('') 
        ->setStopRulesProcessing(0)
        ->setIsAdvanced(1)
     ->setProductIds('')
        ->setSortOrder(0)
        ->setSimpleAction('by_percent')
        ->setDiscountAmount($c_data[5])
        ->setDiscountQty(1)
        ->setDiscountStep('0')
        ->setSimpleFreeShipping('0')
        ->setApplyToShipping('1')
        ->setIsRss(1)
        ->setWebsiteIds(explode(',',$c_data[6]));
    
    $sku =$c_data[7];            // Put your product SKU here 
    $skuCond = Mage::getModel('salesrule/rule_condition_product')
               ->setType('salesrule/rule_condition_product')
               ->setAttribute('sku')
               ->setOperator('==')
               ->setValue($sku);
    $coupon_rule->getActions()->addCondition($skuCond);  
    
        $coupon_rule->save();
    
    echo "New Coupon was added and its ID is ".$coupon_rule->getId().'
    ';

    If you want to add Condition for shopping cart price rule then follow this example.

    $sku =$c_data[7];            // Put your product SKU here 
    $found = Mage::getModel('salesrule/rule_condition_product_found')
             ->setType('salesrule/rule_condition_product_found') 
             ->setValue(1)           // 1 == FOUND
             ->setAggregator('all'); // match ALL conditions
    $coupon_rule->getConditions()->addCondition($found);
    $skuCond = Mage::getModel('salesrule/rule_condition_product')
               ->setType('salesrule/rule_condition_product')
               ->setAttribute('sku') 
               ->setOperator('==')
               ->setValue($sku);
    
    $found->addCondition($skuCond);    
         $coupon_rule->save();
    



提交回复
热议问题