以编程方式删除大量Magento优惠券(购物车价格规则)

时间:2012-10-30 21:28:33

标签: php magento-1.7 magento coupon

我一直在这里询问编写代码以让Magento为新的电子邮件订阅者生成随机优惠券代码 - Creating a single random Magento coupon

这段代码完美无缺,对于那些帮助我永远感激的人。我现在正在寻找一种方法来删除这些优惠券,因为它们以批量方式过期,因为通过Magento管理员单独删除它们是一个巨大的痛苦。从下图中可以看出,在几天的时间内,我们生成了300多张优惠券(现已全部到期)。

enter image description here

修改上面链接中详细说明的创建优惠券代码(来自我的原始问题)?类似的东西:

$model = Mage::getModel('salesrule/rule')
       $model->getName('New newsletter subscriber discount');
       $model->getToDate(date('Y-m-d'));
$model->delete();

或者我在这里完全咆哮错误的树?

1 个答案:

答案 0 :(得分:9)

很抱歉回答我自己的问题,但几乎在我发布后,我就能弄明白了。所以如果其他人有像我这样的问题:

ini_set('auto_detect_line_endings', true);

// Requires Mage
require_once('../../app/Mage.php');

//Initializes Mage
Mage::app('default');
deleteCoupon();

function deleteCoupon() {
  $collection = Mage::getModel('salesrule/rule')->getCollection()->load();

  foreach($collection as $model) {

    // Delete all new newsletter sub coupons
    if ($model->getName() == 'New newsletter subscriber discount') {

    // Delete all coupons expiring today    
    if ($model->getToDate() == date('Y-m-d')) { 
      $model->delete();
      echo "Deleted <br />";
    } else {
      echo "No coupons found! <br />"; 
    }
  }
}