magento 用程序生成优惠劵码
参考自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;
- }
magento 用程序生成优惠劵码的更多相关文章
- PHP生成唯一的促销/优惠/折扣码,由字母和数字组成。
首先我们先搞清楚什么是促销/优惠/折扣码?它有什么用作: 每一个电子商务网站,现在有一种或多种类型的优惠/折扣/优惠券系统,给大家分享一下如何在PHP生成唯一的促销/折扣码.主要是实现一个优惠码系统, ...
- day86:luffy:前端发送请求生成订单&结算页面优惠劵的实现
目录 1.前端发送请求生成订单 1.前端点击支付按钮生成订单 2.结算成功之后应该清除结算页面的数据 3.后端计算结算页面总原价格和总的真实价格并存到数据库订单表中 2.优惠劵 1.准备工作 2.前端 ...
- 微信小程序生成二维码工具
实现的效果 使用(非自适应) 完整代码请参考网址里https://github.com/tomfriwel/weapp-qrcode 页面wxml中放置绘制二维码的canvas: <canvas ...
- 微信小程序生成二维码
微信小程序客户端生成二维码的方法, 请参考这里: https://github.com/demi520/wxapp-qrcode 代码片段如下: const QR = require(". ...
- java程序生成二维码
在物联网的时代,二维码是个很重要的东西了,现在无论什么东西都要搞个二维码标志,唯恐落伍,就差人没有用二维码识别了.也许有一天生分证或者户口本都会用二维码识别了.今天心血来潮,看见别人都为自己的博客添加 ...
- php微信小程序生成二维码,出现乱码,{"errcode":44002,"errmsg":"empty post data"},'{"errcode":41001,"errmsg":"access_token missing hint: [OoC.2a0822e255]"}',以及其他的坑
微信小程序的坑简直比我的头发还多,今天下午获取微信二维码,遇到的44002,41001,还有图片没法正常显示以及小程序参数获取的问题,接下来一一解决 首先获取微信token然后再获取二维码这个没什么好 ...
- php小程序生成二维码
<?php getwxacode(); //生成二维码 function getwxacode(){ $url = "https://api.weixin.qq.com/wxa/get ...
- [BUG]微信小程序生成小程序码"小程序页面路径不存在,请重新输入"
描述 小程序页面线上能打开. 微信官方 获取小程序页面小程序码 页面 ,输入 小程序页面路径,提示 "小程序页面路径不存在,请重新输入". 使用微信复制小程序路径方法, 也是同样的 ...
- 微信小程序生成二维码并且扫码跳转并且携带参数
话不多说,直接上代码,直接把APPID和APPSECRET改成自己的就能用了 <?php header('content-type:text/html;charset=utf-8'); //配置 ...
随机推荐
- 使用POI操作Excel时new XSSFWorkbook ()报错java.lang.NoSuchMethodError解决方式
使用最新的POI3.11时,在执行 Workbook workBook = new XSSFWorkbook ();这段代码时出现错误: java.lang.NoSuchMethodError: j ...
- 抓包工具Fiddler使用宝典之捕获手机报文
Fiddler 是通过代理来实现数据捕获的.对 Android 手机来说,也是通过将网络连接的代理指向 PC 机的 Fiddler port.来实现数据包的拦截. 以下,我以我的一次实践为例,向大家介 ...
- HTML的DOM和浏览器的BOM
DOM和BOM的区别 HTML DOM 的 document 是 BOM 的 window 对象的属性之一: 通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML. Ja ...
- 安全相关的head头
与安全相关的head头包括 参考网站:https://developer.mozilla.org/en-US/docs/Web/HTTP Content-Security-Policy(CSP):禁止 ...
- C# 敏感词过滤
public class BadWordFilter { #region 变量 private HashSet<string> hash = new HashSet<string&g ...
- 6.游戏特别离不开脚本(3)-JS脚本操作java(直接解析JS公式,并非完整JS文件或者函数)
engine.put("usList", us); engine.put("obj", new JSModifiedJava()) ; 取个变量名就put进去 ...
- Why was 80 Chosen as the Default HTTP Port and 443 as the Default HTTPS Port?
https://www.howtogeek.com/233383/why-was-80-chosen-as-the-default-http-port-and-443-as-the-default-h ...
- HttpClient服务端发送http请求
本来以为对跨域问题的处理已经比较熟练了.可以通过jsonp.document.domain+iframe.window.name.window.postMessage.服务器上设置代理页面来解决.但还 ...
- IE、W3C两种CSS盒子模型
利用CSS来布局页面布局DIV有点逻辑性!重点理解盒子模型,标准流和非标准流的区别,还有定位原理!把这3个攻破了,就非常简单了!多实践多参考!最后就是兼容问题了,在实践中自然就有经验了!这些兼容技巧都 ...
- JAVA web简单的登录界面jsp实现
此次试验所用到的软件是myeclipse10,tomcat7,Dreamweaver,sqlserver2008数据库.可以实现用户使用用户名和密码登录.如果登录成功,页面会显示登录成功,如果密码错误 ...