销售软件序列号、电话卡、点卡的方法

用于收藏精华贴子、网友共享的资料等。可以回复,不能发新贴。

版主: Jack

版面规则
本版面不能发新贴,可以回复

销售软件序列号、电话卡、点卡的方法

帖子Jack » 2007-06-20 9:01

很多销售需要在客户下单后,自动给客户发送邮件提供序列号、密码等内容。zencart没有内置这个功能,但是可以通过下面的修改,初步实现这个功能。



下面以销售软件序列号为例说明



~- 数据库中增加一个新的表存放序列号

~- 用户购买需要序列号的商品后,在电子邮件确认阶段,将序列号与订单号相关联

~- 将序列号添加到电子邮件中

~- 更新库存



== 说明==

~- 还需要一个后台更新序列号的界面,这里不提供。您也可以通过phpmyadmin来管理

~- 订单确认后,序列号就在邮件中发出。不适合非实时到帐的交易。
Zen Cart - 让每个人拥有自己生意的梦想成真
加入Zen Cart地图 | 恕不回复站内短信提问 | QQ: 3171061
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

Re: 销售软件序列号、电话卡、点卡的方法

帖子Jack » 2007-06-20 9:23

创建新数据库
CREATE TABLE `products_licences` (
`licences_id` int(10) unsigned NOT NULL auto_increment,
`products_id` int(10) unsigned NOT NULL default '0',
`products_attributes_id` int(10) unsigned default NULL,
`licences_code` varchar(250) NOT NULL default '',
`orders_id` int(10) unsigned default NULL,
PRIMARY KEY (`licences_id`),
KEY `product_id` (`products_id`,`orders_id`),
KEY `product_attributs_id` (`products_attributes_id`)
) TYPE=MyISAM;

在 includes/classes/order.php 中的 function send_order_email() 添加代码:
修改:
undefined function send_order_email($zf_insert_id, $zf_mode) {
global
$currencies, $order_totals;
undefined
改为:
undefined function send_order_email($zf_insert_id, $zf_mode) {
global
$currencies, $order_totals, $db;
// START: MSL - Licences Mod
$licences = array();
//$db->Execute('UPDATE products_licences SET orders_id=NULL'); // DEBUG!!!
$this->licences_html = $this->licences_text = '';
for (
$i=0, $n=sizeof($this->products); $i<$n; $i++) {
$db->Execute('UPDATE products_licences SET orders_id='.$zf_insert_id
. ' WHERE products_id='.$this->products[$i]['id']
.
' AND orders_id IS NULL'
. ' LIMIT '.$this->products[$i]['qty']
);
$dbres = $db->Execute('SELECT licences_code FROM products_licences'
. ' WHERE products_id='.$this->products[$i]['id']
.
' AND orders_id='.$zf_insert_id
);
while(!
$dbres->EOF) {
$this->licences_html .= '<p>'.$this->products[$i]['name'].':<br><span class=licences_code>'.$dbres->fields['licences_code'].'</span></p>';
$this->licences_text .= $this->products[$i]['name'].":\n".$dbres->fields['licences_code']."\n\n";
$licences[$this->products[$i]['id']][] = $dbres->fields['licences_code'];
$dbres->MoveNext();
}
// Update licences stock level
$dbres = $db->Execute('SELECT count(*) AS count FROM products_licences'
. ' WHERE products_id='.$this->products[$i]['id'].' AND orders_id IS NULL'
);
$db->Execute('UPDATE products SET products_quantity='.$dbres->fields['count'].' WHERE products_id='.$this->products[$i]['id']);
}
// END: MSL - Licences Mod
undefined
修改:
undefined //products area
$email_order .= EMAIL_TEXT_PRODUCTS . "\n" .
EMAIL_SEPARATOR . "\n" .
$this->products_ordered .
EMAIL_SEPARATOR . "\n";
$html_msg['PRODUCTS_TITLE'] = EMAIL_TEXT_PRODUCTS;
$html_msg['PRODUCTS_DETAIL']='<table class="product-details" border="0" width="100%" cellspacing="0" cellpadding="2">' . $this->products_ordered_html . '</table>';
undefined
改为:
undefined //products area
$email_order .= EMAIL_TEXT_PRODUCTS . "\n" .
EMAIL_SEPARATOR . "\n" .
$this->products_ordered .
EMAIL_SEPARATOR . "\n";
$html_msg['PRODUCTS_TITLE'] = EMAIL_TEXT_PRODUCTS;
$html_msg['PRODUCTS_DETAIL']='<table class="product-details" border="0" width="100%" cellspacing="0" cellpadding="2">' . $this->products_ordered_html . '</table>';
// START: MSL - Licences Mod
// Licences Area
if ($this->licences_html) {
$html_msg['PRODUCTS_LICENCES']='<table class="product-details" border="0" width="100%" cellspacing="0" cellpadding="2"><tr><td>' . $this->licences_html . '</td></tr></table>';
$email_order .=
$this->licences_text .
EMAIL_SEPARATOR . "\n";
}
// END: MSL - Licences Mod
undefined
== 修改邮件模版 email/email_template_checkout.html
修改:
.copyright {border-bottom:0px solid #9a9a9a; padding:5px;}
</style>
改为:
.copyright {border-bottom:0px solid #9a9a9a; padding:5px;}
.order-licences-area{background-color:#DDDDAA; border:2px #9a9a9a; width:542px; padding:2px; font-size:10px; }
.licences_code{font-weight: bold; font-size: 12px; font-family: monospace;}
</style>
修改:
 <div class="order-detail-area">$ORDER_TOTALS</div>

<div class="comments">$ORDER_COMMENTS</div>
改为:
 <div class="order-detail-area">$ORDER_TOTALS</div>
<div class="order-licences-area">$PRODUCTS_LICENCES</div>

<div class="comments">$ORDER_COMMENTS</div>
Zen Cart - 让每个人拥有自己生意的梦想成真
加入Zen Cart地图 | 恕不回复站内短信提问 | QQ: 3171061
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

Re: 销售软件序列号、电话卡、点卡的方法

帖子山河 » 2007-12-13 13:58

学习了 jack应该建立一个相关版本的专区 然后把各个版本的有用的信息总结到一起 。 这个帖子就很棒。
山河
新手上路
新手上路
 
帖子: 5
注册: 2007-12-13 13:11

Re: 销售软件序列号、电话卡、点卡的方法

帖子Jack » 2007-12-14 9:32

谢谢山河的建议
Zen Cart - 让每个人拥有自己生意的梦想成真
加入Zen Cart地图 | 恕不回复站内短信提问 | QQ: 3171061
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

Re: 销售软件序列号、电话卡、点卡的方法

帖子sanmao » 2008-04-09 17:43

这个是针对哪个版本的?
sanmao
普通会员
普通会员
 
帖子: 46
注册: 2008-04-04 3:36
地址: 上海市

Re: 销售软件序列号、电话卡、点卡的方法

帖子Jack » 2008-04-10 6:52

方法对所有版本都适用
Zen Cart - 让每个人拥有自己生意的梦想成真
加入Zen Cart地图 | 恕不回复站内短信提问 | QQ: 3171061
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

Re: 销售软件序列号、电话卡、点卡的方法

帖子sweetoz » 2008-10-06 2:15

头一步就被难住了哇...请问如何创建数据库?? 谢谢 :D
sweetoz
新手上路
新手上路
 
帖子: 16
注册: 2008-10-04 17:01

Re: 销售软件序列号、电话卡、点卡的方法

帖子laocha » 2009-03-13 15:40

好贴应该做个记号,以后好找。 :)
头像
laocha
普通会员
普通会员
 
帖子: 38
注册: 2008-09-13 3:13

Re: 销售软件序列号、电话卡、点卡的方法

帖子matteowang02 » 2010-08-14 5:50

JACK老大,这个功能需要修改的地方太多了,很麻烦,不知道有没有什么模块可以安装的,谢谢!!!
matteowang02
VIP会员
VIP会员
 
帖子: 310
注册: 2007-07-14 4:51

Re: 销售软件序列号、电话卡、点卡的方法

帖子Jack » 2010-08-14 6:43

没看到
Zen Cart - 让每个人拥有自己生意的梦想成真
加入Zen Cart地图 | 恕不回复站内短信提问 | QQ: 3171061
头像
Jack
论坛版主
论坛版主
 
帖子: 12265
注册: 2004-12-16 10:04

下一页

  • 相关话题
    回复总数
    阅读次数
    最新文章

回到 精华共享



在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客