ECSHOP指定某商品不能使用红包
日期:2016-07-24
在ECSHOP中,自带的红包功能很好用,但是不能指定红包适用的范围,比如某些商品为特价商品的话,可以设置此商品不能使用红包,下面我们ECSHOP插件网提供如下方法即可实现
第一步:在goods表格增加一个字段 is_bonus 类型 tinyint 默认为1 (1是可以使用红包),进入后台“SQL查询”输入以下代码,提交
注意:如果你的数据表前缀 不是 ecs_ 请自行修改
注意:如果你的数据表前缀 不是 ecs_ 请自行修改
第一步:在goods表格增加一个字段 is_bonus 类型 tinyint 默认为1 (1是可以使用红包),进入后台“SQL查询”输入以下代码,提交
注意:如果你的数据表前缀 不是 ecs_ 请自行修改
ALTER TABLE `ecs_goods` ADD `is_bonus` tinyint(1) unsigneNULLLT '1';第二步:修改后台模板页goods_info.htm文件,找到如下代码:
<tr id="alone_sale_1"> <td class="label" id="alone_sale_2">{$lang.lab_is_on_sale}</td> <td id="alone_sale_3"><input type="checkbox" name="is_on_sale" value="1" {if $goods.is_on_sale}checked="checked"{/if} /> {$lang.on_sale_desc}</td> </tr>在以上这段代码的下面加:
<tr id="alone_sale_1"> <td class="label" id="alone_sale_2">红包使用:</td> <td id="alone_sale_3"><input type="checkbox" name="is_bonus" value="1" {if $goods.is_bonus}checked="checked"{/if} /> 打勾表示允许用使用红包,否则不允许使用。</td> </tr>第三步:修改后台goods.php文件,找到如下代码:
$goods = array( 'goods_id' => 0, 'goods_desc' => '', 'cat_id' => $last_choose[0], 'brand_id' => $last_choose[1], 'is_on_sale' => '1', 'is_alone_sale' => '1', 'is_shipping' => '0', 'other_cat' => array(), // 扩展分类 'goods_type' => 0, // 商品类型 'shop_price' => 0, 'promote_price' => 0, 'market_price' => 0, 'integral' => 0, 'goods_number' => $_CFG['default_storage'], 'warn_number' => 1, 'promote_start_date' => local_date('Y-m-d'), 'promote_end_date' => local_date('Y-m-d', local_strtotime('+1 month')), 'goods_weight' => 0, 'give_integral' => -1, 'rank_integral' => -1 );将以上这段代码修改为如下:
$goods = array( 'goods_id' => 0, 'goods_desc' => '', 'cat_id' => $last_choose[0], 'brand_id' => $last_choose[1], 'is_on_sale' => '1', 'is_bonus' => '1', 'is_alone_sale' => '1', 'is_shipping' => '0', 'other_cat' => array(), // 扩展分类 'goods_type' => 0, // 商品类型 'shop_price' => 0, 'promote_price' => 0, 'market_price' => 0, 'integral' => 0, 'goods_number' => $_CFG['default_storage'], 'warn_number' => 1, 'promote_start_date' => local_date('Y-m-d'), 'promote_end_date' => local_date('Y-m-d', local_strtotime('+1 month')), 'goods_weight' => 0, 'give_integral' => -1, 'rank_integral' => -1 );再找到如下代码:
if (empty($goods) === true) { /* 默认值 */ $goods = array( 'goods_id' => 0, 'goods_desc' => '', 'cat_id' => 0, 'is_on_sale' => '1', 'is_alone_sale' => '1', 'is_shipping' => '0', 'other_cat' => array(), // 扩展分类 'goods_type' => 0, // 商品类型 'shop_price' => 0, 'promote_price' => 0, 'market_price' => 0, 'integral' => 0, 'goods_number' => 1, 'warn_number' => 1, 'promote_start_date' => local_date('Y-m-d'), 'promote_end_date' => local_date('Y-m-d', gmstr2tome('+1 month')), 'goods_weight' => 0, 'give_integral' => -1, 'rank_integral' => -1 ); }将以上这段代码修改为如下:
if (empty($goods) === true) { /* 默认值 */ $goods = array( 'goods_id' => 0, 'goods_desc' => '', 'cat_id' => 0, 'is_on_sale' => '1', 'is_bonus' => '1', 'is_alone_sale' => '1', 'is_shipping' => '0', 'other_cat' => array(), // 扩展分类 'goods_type' => 0, // 商品类型 'shop_price' => 0, 'promote_price' => 0, 'market_price' => 0, 'integral' => 0, 'goods_number' => 1, 'warn_number' => 1, 'promote_start_date' => local_date('Y-m-d'), 'promote_end_date' => local_date('Y-m-d', gmstr2tome('+1 month')), 'goods_weight' => 0, 'give_integral' => -1, 'rank_integral' => -1 ); }再找到如下代码:
$is_on_sale = isset($_POST['is_on_sale']) ? 1 : 0;在以上这段代码的下面加:
$is_bonus = isset($_POST['is_bonus']) ? 1 : 0;再找到如下代码:
if ($code == '') { $sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " . "cat_id, brand_id, shop_price, market_price, is_promote, promote_price, " . "promote_start_date, promote_end_date, goods_img, goods_thumb, original_img, keywords, goods_brief, " . "seller_note, goods_weight, goods_number, warn_number, integral, give_integral, is_best, is_new, is_hot, " . "is_on_sale, is_alone_sale, is_shipping, goods_desc, add_time, last_update, goods_type, rank_integral, suppliers_id)" . "VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " . "'$brand_id', '$shop_price', '$market_price', '$is_promote','$promote_price', ". "'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb', '$original_img', ". "'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]', '$goods_weight', '$goods_number',". " '$warn_number', '$_POST[integral]', '$give_integral', '$is_best', '$is_new', '$is_hot', '$is_on_sale', '$is_alone_sale', $is_shipping, ". " '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$rank_integral', '$suppliers_id')"; } else { $sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " . "cat_id, brand_id, shop_price, market_price, is_promote, promote_price, " . "promote_start_date, promote_end_date, goods_img, goods_thumb, original_img, keywords, goods_brief, " . "seller_note, goods_weight, goods_number, warn_number, integral, give_integral, is_best, is_new, is_hot, is_real, " . "is_on_sale, is_alone_sale, is_shipping, goods_desc, add_time, last_update, goods_type, extension_code, rank_integral)" . "VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " . "'$brand_id', '$shop_price', '$market_price', '$is_promote','$promote_price', ". "'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb', '$original_img', ". "'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]', '$goods_weight', '$goods_number',". " '$warn_number', '$_POST[integral]', '$give_integral', '$is_best', '$is_new', '$is_hot', 0, '$is_on_sale', '$is_alone_sale', $is_shipping, ". " '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$code', '$rank_integral')"; }将以上这段代码修改为如下:
if ($code == '') { $sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " . "cat_id, brand_id, shop_price, market_price, is_promote, promote_price, " . "promote_start_date, promote_end_date, goods_img, goods_thumb, original_img, keywords, goods_brief, " . "seller_note, goods_weight, goods_number, warn_number, integral, give_integral, is_best, is_new, is_hot, " . "is_on_sale, is_bonus, is_alone_sale, is_shipping, goods_desc, add_time, last_update, goods_type, rank_integral, suppliers_id)" . "VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " . "'$brand_id', '$shop_price', '$market_price', '$is_promote','$promote_price', ". "'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb', '$original_img', ". "'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]', '$goods_weight', '$goods_number',". " '$warn_number', '$_POST[integral]', '$give_integral', '$is_best', '$is_new', '$is_hot', '$is_on_sale', '$is_bonus', '$is_alone_sale', $is_shipping, ". " '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$rank_integral', '$suppliers_id')"; } else { $sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " . "cat_id, brand_id, shop_price, market_price, is_promote, promote_price, " . "promote_start_date, promote_end_date, goods_img, goods_thumb, original_img, keywords, goods_brief, " . "seller_note, goods_weight, goods_number, warn_number, integral, give_integral, is_best, is_new, is_hot, is_real, " . "is_on_sale, is_bonus, is_alone_sale, is_shipping, goods_desc, add_time, last_update, goods_type, extension_code, rank_integral)" . "VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " . "'$brand_id', '$shop_price', '$market_price', '$is_promote','$promote_price', ". "'$promote_start_date', '$promote_end_date', '$goods_img', '$goods_thumb', '$original_img', ". "'$_POST[keywords]', '$_POST[goods_brief]', '$_POST[seller_note]', '$goods_weight', '$goods_number',". " '$warn_number', '$_POST[integral]', '$give_integral', '$is_best', '$is_new', '$is_hot', 0, '$is_on_sale', '$is_bonus', '$is_alone_sale', $is_shipping, ". " '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$code', '$rank_integral')"; }再找到如下代码:
"is_on_sale = '$is_on_sale', " .在以上这段代码的下面加:
"is_bonus = '$is_bonus', " .再找到如下代码:
/*------------------------------------------------------ */ //-- 排序、分页、查询 /*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'query')在以上这段代码的上面加:
/*------------------------------------------------------ */ //-- 修改红包使用状态 /*------------------------------------------------------ */ elseif ($_REQUEST['act'] == 'toggle_bonus') { check_authz_json('goods_manage'); $goods_id = intval($_POST['id']); $is_bonus = intval($_POST['val']); if ($exc->edit("is_bonus = '$is_bonus', last_update=" .gmtime(), $goods_id)) { clear_cache_files(); make_json_result($is_bonus); } }第四步:修改后台模板页goods_list.htm文件,找到如下代码:
<th><a href="javascript:listTable.sort('is_hot'); ">{$lang.is_hot}</a>{$sort_is_hot}</th>在以上这段代码的下面加:
<th><a href="javascript:listTable.sort('is_bonus'); ">红包</a>{$sort_is_bonus}</th>再找到如下代码:
<td align="center"><img src="images/{if $goods.is_hot}yes{else}no{/if}.gif" onclick="listTable.toggle(this, 'toggle_hot', {$goods.goods_id})" /></td>在以上这段代码的下面加:
<td align="center"><img src="images/{if $goods.is_bonus}yes{else}no{/if}.gif" onclick="listTable.toggle(this, 'toggle_bonus', {$goods.goods_id})" /></td>再找到如下代码:
<option value="hot">{$lang.hot}</option> <option value="not_hot">{$lang.not_hot}</option>在以上这段代码的下面加:
<option value="bonus">使用红包</option> <option value="not_bonus">取消红包使用</option>第五步:在cart表格增加一个字段 is_bonus 类型 tinyint 默认为1 (1是可以使用红包),进入后台“SQL查询”输入以下代码,提交
注意:如果你的数据表前缀 不是 ecs_ 请自行修改
ALTER TABLE `ecs_cart` ADD `is_bonus` tinyint(1) unsigned NOT NULL DEFAULT '1';第六步:打开includes/lib_order.php文件,找到如下代码:
/* 商品总价 */ foreach ($goods AS $val) { /* 统计实体商品的个数 */ if ($val['is_real']) { $total['real_goods_count']++; }在以上这段代码的下面加:
if ($val['is_bonus']) { $total['goods_bonus_price'] += $val['goods_price'] * $val['goods_number']; }再找到如下代码:
function addto_cart($goods_id, $num = 1, $spec = array(), $parent = 0) { $GLOBALS['err']->clean(); $_parent_id = $parent; /* 取得商品信息 */ $sql = "SELECT g.goods_name, g.goods_sn, g.is_on_sale, g.is_real, ".将以上这段代码修改为如下:
function addto_cart($goods_id, $num = 1, $spec = array(), $parent = 0) { $GLOBALS['err']->clean(); $_parent_id = $parent; /* 取得商品信息 */ $sql = "SELECT g.goods_name, g.goods_sn, g.is_on_sale, g.is_real, g.is_bonus, ".再找到如下代码:
/* 初始化要插入购物车的基本件数据 */ $parent = array( 'user_id' => $_SESSION['user_id'], 'session_id' => SESS_ID, 'goods_id' => $goods_id, 'goods_sn' => addslashes($goods['goods_sn']), 'product_id' => $product_info['product_id'], 'goods_name' => addslashes($goods['goods_name']), 'market_price' => $goods['market_price'], 'goods_attr' => addslashes($goods_attr), 'goods_attr_id' => $goods_attr_id, 'is_real' => $goods['is_real'], 'extension_code'=> $goods['extension_code'], 'is_gift' => 0, 'is_shipping' => $goods['is_shipping'], 'rec_type' => CART_GENERAL_GOODS );将以上这段代码修改为如下:
/* 初始化要插入购物车的基本件数据 */ $parent = array( 'user_id' => $_SESSION['user_id'], 'session_id' => SESS_ID, 'goods_id' => $goods_id, 'goods_sn' => addslashes($goods['goods_sn']), 'product_id' => $product_info['product_id'], 'goods_name' => addslashes($goods['goods_name']), 'market_price' => $goods['market_price'], 'goods_attr' => addslashes($goods_attr), 'goods_attr_id' => $goods_attr_id, 'is_real' => $goods['is_real'], 'extension_code'=> $goods['extension_code'], 'is_gift' => 0, 'is_bonus' => $goods['is_bonus'], 'is_shipping' => $goods['is_shipping'], 'rec_type' => CART_GENERAL_GOODS );第六步:打开后台admin/includes/lib_goods.php文件,找到如下代码:
$sql = "SELECT goods_id, goods_name, goods_type, goods_sn, shop_price, is_on_sale, is_best, is_new, is_hot, sort_order, goods_number, integral, " . " (promote_price > 0 AND promote_start_date <= '$today' AND promote_end_date >= '$today') AS is_promote ". " FROM " . $GLOBALS['ecs']->table('goods') . " AS g WHERE is_delete='$is_delete' $where" . " ORDER BY $filter[sort_by] $filter[sort_order] ". " LIMIT " . $filter['start'] . ",$filter[page_size]";将以上这段代码修改为如下:
$sql = "SELECT goods_id, goods_name, goods_type, goods_sn, shop_price, is_on_sale, is_best, is_new, is_hot, is_bonus, sort_order, goods_number, integral, " . " (promote_price > 0 AND promote_start_date <= '$today' AND promote_end_date >= '$today') AS is_promote ". " FROM " . $GLOBALS['ecs']->table('goods') . " AS g WHERE is_delete='$is_delete' $where" . " ORDER BY $filter[sort_by] $filter[sort_order] ". " LIMIT " . $filter['start'] . ",$filter[page_size]";最后一步就是打开flow.php文件,找到如下代码:
/* 如果使用红包,取得用户可以使用的红包及用户选择的红包 */ if ((!isset($_CFG['use_bonus']) || $_CFG['use_bonus'] == '1') && ($flow_type != CART_GROUP_BUY_GOODS && $flow_type != CART_EXCHANGE_GOODS)) { // 取得用户可用红包 $user_bonus = user_bonus($_SESSION['user_id'], $total['goods_price']);将以上这段代码修改为如下:
/* 如果使用红包,取得用户可以使用的红包及用户选择的红包 */ if ((!isset($_CFG['use_bonus']) || $_CFG['use_bonus'] == '1') && ($flow_type != CART_GROUP_BUY_GOODS && $flow_type != CART_EXCHANGE_GOODS)) { // 取得用户可用红包 $user_bonus = user_bonus($_SESSION['user_id'], $total['goods_bonus_price']);以下为截图:
本文原创地址:https://www.ecshopok.com/article-307.html
版权所有 © 转载时必须以链接形式注明出处!
觉得本文对您有用,想收藏下来!方法很简单:请点击-〉
我们一直坚持白天工作、晚上熬夜更新资源,付出了巨大的精力和时间,其中的辛酸难以言述。
下一篇:ecshop红包序列号可多次多人使用插件 上一篇:ECSHOP注册短信接口【ECSHOP阿里大于短信插件】ECSHOP手机短信服务设置教程
暂无评论,来发表一个吧