magento 用程序生成优惠劵码
2024-10-21 05:54:04
参考自http://fragmentedthought.com/fragments/programatically-creating-sales-rule-coupon-code
上面的代码只能生成Coupon Code,却不能使用,需加入
$coupon->setType(Mage_SalesRule_Helper_Coupon::COUPON_TYPE_SPECIFIC_AUTOGENERATED)->save();
整合后可以使用的代码如下:
// Get the rule id
$rule = Mage::getModel('salesrule/rule')->load(1); // Define a coupon code generator model instance
// Look at Mage_SalesRule_Model_Coupon_Massgenerator for options
$generator = Mage::getModel('salesrule/coupon_massgenerator'); $parameters = array(
'count'=>1,
'format'=>'alphanumeric',
'dash_every_x_characters'=>4,
'prefix'=>'test',
'suffix'=>'test2',
'length'=>12
); if( !empty($parameters['format']) ){
switch( strtolower($parameters['format']) ){
case 'alphanumeric':
case 'alphanum':
$generator->setFormat( Mage_SalesRule_Helper_Coupon::COUPON_FORMAT_ALPHANUMERIC );
break;
case 'alphabetical':
case 'alpha':
$generator->setFormat( Mage_SalesRule_Helper_Coupon::COUPON_FORMAT_ALPHABETICAL );
break;
case 'numeric':
case 'num':
$generator->setFormat( Mage_SalesRule_Helper_Coupon::COUPON_FORMAT_NUMERIC );
break;
}
} $generator->setDash( !empty($parameters['dash_every_x_characters'])? (int) $parameters['dash_every_x_characters'] : 0);
$generator->setLength( !empty($parameters['length'])? (int) $parameters['length'] : 6);
$generator->setPrefix( !empty($parameters['prefix'])? $parameters['prefix'] : '');
$generator->setSuffix( !empty($parameters['suffix'])? $parameters['suffix'] : ''); // Set the generator, and coupon type so it's able to generate
$rule->setCouponCodeGenerator($generator);
$rule->setCouponType( Mage_SalesRule_Model_Rule::COUPON_TYPE_AUTO ); // Get as many coupons as you required
$count = !empty($parameters['count'])? (int) $parameters['count'] : 1;
$codes = array();
for( $i = 0; $i < $count; $i++ ){
$coupon = $rule->acquireCoupon();
$coupon->setType(Mage_SalesRule_Helper_Coupon::COUPON_TYPE_SPECIFIC_AUTOGENERATED)->save();
$code = $coupon->getCode();
$codes[] = $code;
}
return $codes;
}
最新文章
- ubuntu下安装mysql, eclipse, tomcat
- Windows 2003上 SaltStack/Salt 和 psutil 可能存在的问题及解决
- Spring4.1.6 标签注解大全以及解释
- 转:Java NIO系列教程(九) Pipe
- ML 03、机器学习的三要素
- BZOJ 4285 使者
- QTP插入Output Value和插入CheckPoint,注意点
- -bash: ulimit: open files: cannot modify limit: Operation not permitted
- Hive 5、Hive 的数据类型 和 DDL Data Definition Language)
- asp.net repeater控件操作
- java基础之操作符
- 字符串a-b
- python3.7之12306抢票脚本实现
- mysql8:caching-sha2-password问题
- Linux Time_wait网络状态 调优
- ros新建的包找不到
- android -------- Data Binding的使用(二)
- PHP之高性能I/O框架:Libevent(一)
- 20155333 《网络对抗》Exp4 恶意代码分析
- 记spring mvc传入List<;Object>;的一次尝试
热门文章
- sendEmail实现邮件报警发送
- 【nginx】【转】Nginx核心进程模型
- Centos 6.x 安装Nagios及WEB管理nagiosql实现windows及linux监控指南
- VS2015 android 设计器不能可视化问题解决。
- Deepin-安装QQ音乐(Windows程序)
- android 自己主动拒接后再取消自己主动拒接,该联系人来电界面无图标显示,且点击挂断无反应
- linux入门基础——linux软件管理RPM
- [转] logback 常用配置详解(序)logback 简介
- druid 参考配置
- iOS开发——高级篇——iOS涂鸦画板效果实现