ecshop微信商城
  官方微博: 騰訊  
首頁 > ECSHOP教程 > ECSHOP二次開發 > ECSHOP二次開發教程 > ecshop商品銷量后臺添加虛擬銷量以及前臺顯示商品已銷售銷量

ecshop商品銷量后臺添加虛擬銷量以及前臺顯示商品已銷售銷量

ECSHOP教程 / ecshop 教程網(www.nrkidn.live) 2015-08-23

使用ECSHOP做網站時,有個苦惱,就是推廣前期,商城銷量很少,要是能夠顯示一個假的銷量就好了。

通過本教程就可以實現。

教程開始

1.在sq執行語句

ALTER TABLE `ecs_goods` ADD `sales_volume_base` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'

INSERT INTO `ecs_shop_config` (`parent_id`, `code`, `type`, `store_range`, `store_dir`, `value`, `sort_order` ) VALUES ('7','show_goods_sales''select''1,0''''1''1');

INSERT INTO `ecs_shop_config` (`parent_id`, `code`, `type`, `store_range`, `store_dir`, `value`, `sort_order` ) VALUES ('3''show_sales_type''select''1,0''''1''1');

注意:如果你的數據表前綴不是‘ecs_’ 請自行修改

2./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]";

修改為

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $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, sales_volume_base, " 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " (promote_price > 0 AND promote_start_date <= '$today' AND promote_end_date >= '$today') AS is_promote ".
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " FROM " $GLOBALS['ecs']->table('goods') . " AS g WHERE is_delete='$is_delete' $where" .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " ORDER BY $filter[sort_by] $filter[sort_order] ".
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " LIMIT " $filter['start'] . ",$filter[page_size]";

3./admin/templates/goods_list.htm,在

  {if $use_storage}
    <th><a href="javascript:listTable.sort('goods_number'); ">{$lang.goods_number}</a>{$sort_goods_number}</th>
    {/if}

后,添加

<th><a href="javascript:listTable.sort('sales_volume_base'); ">{$lang.sales_volume_base}</a>{$sort_sales_volume_base}</th>

 {if $use_storage}
    <td align="right"><span onclick="listTable.edit(this, 'edit_goods_number', {$goods.goods_id})">{$goods.goods_number}</span></td>
    {/if}

后,添加

<td align="center"><span onclick="listTable.edit(this, 'edit_sales_volume_base', {$goods.goods_id})">{$goods.sales_volume_base}</span></td>

4./admin/goods.php,在

/**
 * 列表鏈接
 * @param   bool    $is_add         是否添加(插入)
 * @param   string  $extension_code 虛擬商品擴展代碼,實體商品為空
 * @return  array('href' => $href, 'text' => $text)
 */
function list_link($is_add = true, $extension_code '')

前,添加

/*------------------------------------------------------ */
//-- 修改商品虛擬銷量
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit_sales_volume_base')
{
&nbsp;&nbsp;&nbsp; check_authz_json('goods_manage');
 
&nbsp;&nbsp;&nbsp; $goods_id intval($_POST['id']);
&nbsp;&nbsp;&nbsp; $sales_volume_base = json_str_iconv(trim($_POST['val']));
 
&nbsp;&nbsp;&nbsp; if ($exc->edit("sales_volume_base = '$sales_volume_base', last_update=" .gmtime(), $goods_id))
&nbsp;&nbsp;&nbsp; {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clear_cache_files();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make_json_result(stripslashes($sales_volume_base));
&nbsp;&nbsp;&nbsp; }
}

5.goods.php,在

$smarty->assign('categories',         get_categories_tree($goods['cat_id']));  // 分類樹

后,添加

$smarty->assign('sales_count',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get_sales_count($goods_id));

在末尾添加

/* 商品累計銷量帶自定義_新增加 */
function get_sales_count($goods_id)
{
&nbsp;&nbsp;&nbsp; /* 查詢該商品的自定義銷量 */
&nbsp;&nbsp;&nbsp; $sales_base $GLOBALS['db']->getOne('SELECT sales_volume_base FROM '.$GLOBALS['ecs']->table('goods').' WHERE goods_id = '.$goods_id);
&nbsp;&nbsp;&nbsp; /* 查詢該商品的實際銷量 */
&nbsp;&nbsp;&nbsp; $sql 'SELECT IFNULL(SUM(g.goods_number), 0) ' .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'FROM ' $GLOBALS['ecs']->table('order_info') . ' AS o, ' .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $GLOBALS['ecs']->table('order_goods') . ' AS g ' .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "WHERE o.order_id = g.order_id " .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "AND o.order_status " . db_create_in(array(OS_CONFIRMED, OS_SPLITED)) .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "AND o.shipping_status " . db_create_in(array(SS_SHIPPED, SS_RECEIVED)) .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " AND o.pay_status " . db_create_in(array(PS_PAYED, PS_PAYING)) .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " AND g.goods_id = '$goods_id'";
&nbsp;&nbsp;&nbsp; $sales_count $GLOBALS['db']->getOne($sql);
&nbsp;&nbsp;&nbsp; /* 商品累計銷量默認顯示方式 */
&nbsp;&nbsp; &nbsp;if ($GLOBALS['_CFG']['show_sales_type'])
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $row['sales_volume_total'] =&nbsp; $sales_count//實際銷量
&nbsp;&nbsp; &nbsp;}
&nbsp;&nbsp; &nbsp;else
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $row['sales_volume_total'] =&nbsp; $sales_base $sales_count//自定義銷量+實際銷量
&nbsp;&nbsp; &nbsp;}
&nbsp;&nbsp;&nbsp; return ($row['sales_volume_total']);
}

6.在/languages/zh_cn/admin/shop_config.php,中

/languages/zh_cn/admin/shop_config.php

下,添加

$_LANG['cfg_name']['show_goods_sales'] = '是否顯示商品累計銷量';
$_LANG['cfg_range']['show_goods_sales']['1'] = '顯示';
$_LANG['cfg_range']['show_goods_sales']['0'] = '不顯示';
$_LANG['cfg_name']['show_sales_type'] = '商品累計銷量默認顯示方式';
$_LANG['cfg_range']['show_sales_type'][1] = '真實顯示';
$_LANG['cfg_range']['show_sales_type'][0] = '虛擬顯示';

7./languages/zh_cn/admin/goods.php,中

$_LANG['goods_sn_exists'] = '您輸入的貨號已存在,請換一個';

后,添加

$_LANG['sales_volume_base'] = '虛擬銷量';

8./languages/zh_cn/common.php,中

$_LANG['divided_into'] = '分成規則';

后,添加

$_LANG['sales_volume_total'] = '累計銷量:'
$_LANG['pcs'] = '件';


9./themes/default/goods.dwt,在

     <img src="images/stars{$goods.comment_rank}.gif" alt="comment rank {$goods.comment_rank}" />
       </dd>

后,添加

{if $cfg.show_goods_sales}
<dd style="width:48%; padding-left:7px;">
<strong>{$lang.sales_volume_total}</strong>
<font class="shop">{$sales_count}{if $goods.measure_unit}{$goods.measure_unit}{else}{$lang.pcs}{/if}</font>
</dd>
{/if}

OK,完成!


轉載請注明:ECshop119模板屋-ECshop教程網(全國最專業的ECSHOP插件制作商-專業ECSHOP二次開發)

幫助目錄

在線反饋

加ECSHOP模板屋微信語音幫助。

ecshop微信群

與網友交流ECSHOP開發修改。

加入QQ群交流