一个方法让你自由控制产品的点击数量

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家

本人精通ECSHOP二次开发,有什么问题大家可以一起讨论,qq:329230140;Ecshop二次开发群:5542597有这样两个需求
1.系统自动生成的点击数不变,但后台可以任意改点击数,更改后的点击数第二次被访问时继续累积+1。
2.新增商品时有默认的随机的点击数,并且可以手动在后台更改,然后第二次点击照样累计+1
3.每次点击只能+1,而我希望每次点击任意挑选1-9个数字之间进行累加

改起来是相当简单的,看以下步骤:
1.给后台增加可输入点击数的表单。找到/admin/templates/goods_info.htm,然后在你想要摆放的位置放入:
<tr>
<td class="label">
产品点击数
</td>
<td>将
<input type="text" name="click_count" value="{$goods.click_count}"style="width:50px;">次
<br />
</td>
</tr>
这样,后台就可以读取到该产品的点击数了。
2.如果你点击确定那就会报错,因为还需要修改数据读取,找到/admin/goods.php,然后进行一下修改:
a.搜索/* 取得商品信息 */这个注释,然后在$goods = array(...的数组里面插入“'click_count'=> 1000,”,注意逗号要加上去,就是说我希望在新增产品的时候,默认的点击数是1000。注,该数组是初始化默认值的,您可以随意更改默认值。
b.修改了默认值,还需要修改复制产品时的默认值,就是else下面的$goods = array(...,就是照着上面的方法操作。
c.如果你希望新增产品时有一个随机数,那只要在if ($is_add){..}上面输入
srand((double)microtime()*1000000);
$default_num=rand(500,1000);
然后'click_count'=> 1000,改为'click_count'=> $default_num;
d.上面完成以后就要进行数据的读取与插入工作了
找到朱世卫/* 入库 */的地方,然后在 $sql里面增加一个查询字段,比如我在“keywords,”后面增加了"click_count,",另外,还需要在该行$sql语句里面的'$_POST[keywords]',加入“'$_POST[click_count]',”。
e.同样的道里,你也必须在else下面的$sql按照d步骤进行同样的操作
f.最后一步,找到
if ($code != '')
{
$sql .= "is_real=0, extension_code='$code', ";
}
下面的那条$sql,然后在"keywords = '$_POST[keywords]', " .下面插入
"click_count = '$_POST[click_count]', " .(注意不要忘记点好)

这样以来,我们就可以随意更改产品的点击数量了。

其他问题:
1.如何在产品列表显示产品的点击数量?
这个问题太太简单了,直接打开根目录的category.php
然后找到注释的 /* 获得商品列表 */,在$sql里面增加获取click_count这个字段,再找到下面的
$arr[$row['goods_id']]['name'] = $row['goods_name'];这一行,然后添加:
$arr[$row['goods_id']]['click_count'] = $row['click_count];
然后再在good_list.dwt里面插入{$goods.click_count}就可以了
2.问,如何在用户访问某个产品时,增加的是10-99的随机数,而不是增加1次?
这个问题很没水准,直接打开根目录的goods.php,然后找到注释为
/* 更新点击次数 */位置,下面输入
srand((double)microtime()*1000000);
$default_num=rand(500,1000);
然后将$db->query(...)里面的..click_count + 1 WHERE...的1改为$default_num就OK了。

回答:
还不如后台修改 或者直接数据库修改 更加好
这个是浮云 米有意思!

我这次不是要挖帖子而是发现很多人在找这个问题的解决方式希望这个办法还能够用 那我就造福于人了

这个好哈哈。。人才。