使用Magento后台手动生成优惠券,效率太低了。如果生成1万个号码不一样的优惠券,还是要靠代码。

我来分享一段从互联网获得的批量生成优惠券的代码,如下:

此代码在Magento外部运行,所有使用了require_once(‘app/Mage.php’); 此代码只是一个生成优惠券的演示,如果要实现具体的功能,还需要修改,但是有了这个demo就容易多了。

示例1:

<?php
require_once('app/Mage.php');
Mage::app('default');
function generateUniqueId($length = null){$rndId = crypt(uniqid(rand(),1));$rndId = strip_tags(stripslashes($rndId));$rndId = str_replace(array(".", "$"),"",$rndId);$rndId = strrev(str_replace("/","",$rndId));if (!is_null($rndId)){return strtoupper(substr($rndId, 0, $length));}return strtoupper($rndId);}/* create unique coupan code */for($cc = 0 ; $cc<15 ; $cc++){$productId  = 297;//(int) $this->getRequest()->getParam('id');$discountprice= 1;//$_POST['product']['discountprice'];$model = Mage::getModel('salesrule/rule');$couponCode=generateUniqueId(8);$model->setName($couponCode);$model->setDescription('Discount coupon for Surger.');$model->setUsesPerCoupon(1);$model->setUsesPerCustomer(1);$model->setCustomerGroupIds('0,1');$model->setIsActive(1);// $model->setConditionsSerialized('a:6:{s:4:\"type\";s:32:\"salesrule/rule_condition_combine\";s:9:\"attribute\";N;s:8:\"operator\";N;s:5:\"value\";s:1:\"1\";s:18:\"is_value_processed\";N;s:10:\"aggregator\";s:3:\"all\";}');//$model->setActionsSerialized('a:6:{s:4:\"type\";s:40:\"salesrule/rule_condition_product_combine\";s:9:\"attribute\";N;s:8:\"operator\";N;s:5:\"value\";s:1:\"1\";s:18:\"is_value_processed\";N;s:10:\"aggregator\";s:3:\"all\";}');$model->setStopRulesProcessing(0);$model->setIsAdvanced(1);// $model->setProductIds($productId);$model->setSortOrder('0');$model->setSimpleAction('by_percent');$model->setDiscountAmount($discountprice);$model->setDiscountStep(0);$model->setSimpleFreeShipping(0);$model->setCouponType(2);$model->setCouponCode($couponCode);$model->setUsesPerCoupon(1);$model->setTimesUsed(0);$model->setIsRss(0);$model->setWebsiteIds('1');$model->save();}
echo 'ok';

//获得Magento优惠券的数据结构可以使用

$coupon = Mage::getModel('salesrule/rule')->load(1);
echo '<pre>';
print_r($coupon->getData());
echo '</pre>';

示例2:

$coupon = Mage::getModel('salesrule/rule');$coupon->setName('test coupon')->setDescription('this is a description')->setFromDate('2010-05-09')->setCouponCode('CODENAME')->setUsesPerCoupon(1)->setUsesPerCustomer(1)->setCustomerGroupIds(array(1)) //an array of customer grou pids->setIsActive(1)//serialized conditions.  the following examples are empty->setConditionsSerialized('a:6:{s:4:"type";s:32:"salesrule/rule_condition_combine";s:9:"attribute";N;s:8:"operator";N;s:5:"value";s:1:"1";s:18:"is_value_processed";N;s:10:"aggregator";s:3:"all";}')->setActionsSerialized('a:6:{s:4:"type";s:40:"salesrule/rule_condition_product_combine";s:9:"attribute";N;s:8:"operator";N;s:5:"value";s:1:"1";s:18:"is_value_processed";N;s:10:"aggregator";s:3:"all";}')->setStopRulesProcessing(0)->setIsAdvanced(1)->setProductIds('')->setSortOrder(0)->setSimpleAction('by_percent')->setDiscountAmount(10)->setDiscountQty(null)->setDiscountStep('0')->setSimpleFreeShipping('0')->setApplyToShipping('0')->setIsRss(0)->setWebsiteIds(array(1));      $coupon->save();

此文参考文章地址:http://stackoverflow.com/questions/4030887/magento-discount-coupan-code-created-on-fly-but-not-working-properly/5894834#5894834
http://blog.leoware.com/magento/coupons-in-magento-part-2.html

http://alanstorm.com/magento_model_generation

原文:www.hellokeykey.com

转自:Magento批量生成优惠券

Magento批量生成优惠券相关推荐

  1. php批量生成优惠券,PHP自动批量生成会员卡号程序

    文章给大家介绍一个PHP自动批量生成会员卡号程序的例子,其实原理非常的简单我们将0-Z(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ)分别代表数值0-35,如字母Z代表35 ...

  2. 高性能(无需判重)批量生成优惠券码方案

    UUID方案:将uuid分成等份,转成16进制即可.(代码里有11位和8位数的券码代码参考) 雪花id方案:实现思路很简单,生成雪花id(可根据需求,换成使用uuid的方案,测试代码里有两种方法),将 ...

  3. 简易发号SQL,可用于生成指定前缀自增序列,如订单号,生成优惠券码等

    需求1:订单号要求唯一.长度不太长.自增.但不能通过早上订单号和晚上订单号相减推算出平台大概一天的单量 需求2:要求生成10w张优惠券,要求券码唯一.不能太长,不能轻易猜测出其他券码 根据这些需求提供 ...

  4. 生成批量缩率图_Windows系统实战之:批量生成某类型文件

    在我们的日常工作中,因工作需要批量生成一批文件,今天我就给大家介绍一下如何批量生成我们想要的文件,以文本文件为例. 需要用到的程序有: 1.Microsoft Excel(WPS表格也可以) 2.记事 ...

  5. 将表里的数据批量生成INSERT语句的存储过程 增强版

    原文:将表里的数据批量生成INSERT语句的存储过程 增强版 将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的 ...

  6. R语言使用fs包的path_wd函数基于自定义文件路径规则,批量生成多个文件或者文件夹对应的绝对(absolute)文件路径(constructs absolute path)

    R语言使用fs包的path_wd函数基于自定义文件路径规则,批量生成多个文件或者文件夹对应的绝对(absolute)文件路径(constructs an absolute path from the ...

  7. 将表里的数据批量生成INSERT语句的存储过程 继续增强版

    文章继续 桦仔兄的文章 将表里的数据批量生成INSERT语句的存储过程 增强版 继续增强... 本来打算将该内容回复于桦仔兄的文章的下面的,但是不知为何博客园就是不让提交!.... 所以在这里贴出来吧 ...

  8. 为tomcat6批量生成安全证书

    在Tomcat 6中配置SSL双向认证是相当容易的,本文将介绍如何使用JDK的keytool来为Tomcat配置双向SSL认证.并实现批量生成证书 系统需求:JDK 5.0 Tomcat 6.0.16 ...

  9. 自定义边界_如何批量生成CAD填充的边界?

    下面是本公众号文章分类目录,点击标题文字可打开分类文章列表: 安装卸载 异常.退出 文件及输入输出  基本操作技巧 设置及相关问题  界面和显示 快捷键 视图设置和调整  图层管理 颜色   线型   ...

最新文章

  1. autoware使用rosbag数据生成路径点并进行路径规划(七)
  2. 两道面试题,带你解析Java类加载机制
  3. 三十一、CI框架之使用验证码
  4. C# DataGrid 控件在winform里显示行号
  5. boost::hana::repeat用法的测试程序
  6. 学习笔记之数据可视化(二)—— 页面布局(下)
  7. PowerDNS管理工具开发中学习到的DNS知识
  8. 怎么单选_第一届化妆品分类大赛丨用过的化妆刷、过期的口红…该怎么扔
  9. Myeclipse中文件编码不匹配导致不能保存,修改编码方式后仍然不能保存
  10. 计算机中缺少mfc100.dll怎么办,大师为你细说win7系统启动程序提示计算机中丢失mfc100u.dll的解决技巧...
  11. H264格式说明及解析
  12. OKR组织敏捷目标和绩效管理第二课 O、KR和案例讲解
  13. 微信小程序云存储(文件上传到云端)
  14. 机器学习(八):样本分布不均衡问题的处理
  15. 关于固态硬盘的一些总结
  16. 一份小白前端可视化学习指南——附思维导图
  17. 鸿蒙开发板和STM32有啥区别,让arduino 把你的无用的stm32板子玩起来 之一
  18. 多个pdf文件如何合并为一个文件?怎样将多个pdf文件合并到一个文件?
  19. 加密市场熊市最后的曙光——Treasure Project(藏宝计划)
  20. C++学习需要看的书籍

热门文章

  1. 训练日志 2019.1.12
  2. 机器翻译(洛谷-P1540)
  3. 超级楼梯(HDU-2040)
  4. python判断文件是否存在 中文_python如何判断文件是否存在
  5. oracle crf路径,说说 ora.crf 那些事
  6. php 匹配多个字符串,php 字符串中是否包含指定字符串的多种方法
  7. opencv 手册_有兴趣吗?程序员分手手册,教你如何恢复单身
  8. C/C++:读写文件
  9. 笨方法“学习python笔记之字符串
  10. Docker 镜像使用(拉取、查看、使用、删除)