欢迎来到素材无忧网,按 + 收藏我们
登录 注册 退出 找回密码

ecshop浏览记录商品图片标题宽带长度怎么修改

时间: 2024-02-25 10:43 阅读: 作者:素材无忧网

ecshop里面有浏览历史记录,在ecshop二次开发的时候,常常对这个地方进行调整.到不是说修改浏览历史记录的原理。而是修改ecshop浏览历史记录的数据显示方式.很简单,ecshop的商品浏览历史记录。他是借助cookie 来实现的。他是记录在ecshop的$_COOKIE['ECS']['history']变量里面的。
我们先看ecshop的商品详细内容页面goods.php,里面有段程序.
if (!empty($_COOKIE['ECS']['history']))
{
$history = explode(',', $_COOKIE['ECS']['history']);
array_unshift($history, $goods_id);
$history = array_unique($history);
while (count($history) > $_CFG['history_number'])
{
array_pop($history);
}
setcookie('ECS[history]', implode(',', $history), gmtime() + 3600 * 24 * 30);
}
else
{
setcookie('ECS[history]', $goods_id, gmtime() + 3600 * 24 * 30);
}
首先我们看下includes/lib_insert.php里面的function insert_history()函数
在商品的浏览历史记录里面,可以通过商品ID来取得所有的浏览历史记录.
$where = db_create_in($_COOKIE['ECS']['history'], 'goods_id');
$sql   = 'SELECT goods_id, goods_name, goods_thumb, shop_price FROM ' . $GLOBALS['ecs']->table('goods') .
" WHERE $where AND is_on_sale = 1 AND is_alone_sale = 1 AND is_delete = 0";
从而返回一个浏览历史记录的商品信息数组.
需要修改的文件:includeslib_insert.php,找到函数:function insert_history(),下面的代码:
$str.=’’;
上面的代码就是所对应的样式代码,修改即可。
另外,调用的模板文件:history.lbi,中的:
{insert name=’history’}

其中,id="history_list"是"清空"操作的ID。
参考案例二:
$str .= '';
标题长度控制:
浏览历史中标题长度的控制:因为不是在模板文件而是在系统文件中,所以在模板文件中能使用的控制方法并不适用,而是需要使用函数进行控制。
程序中用于控制short_name长度的语句
$goods['short_name'] = $GLOBALS['_CFG']['goods_name_length'] > 0? sub_str($row['goods_name'], $GLOBALS['_CFG']['goods_name_length']) hxrow['goods_name'];
这个语句的本意是用全局属 goods_name_length来控制长度,这个是可以在后台修改的,不过由于这个函数同时在网站的各个地方被调用,因此修改之后可能会引发其它问题,所以并不适合。
在这里把
sub_str($row['goods_name'], $GLOBALS['_CFG']['goods_name_length'])
改为sub_str($row['goods_name'], 18,$append = true)即可。
其中,18是标题长度,这里是按照中文字符算的,18就表示18个中文。$append = true表示当原标题超过18个字符时,以【…】结尾。

版权声明: 本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

转载请注明: ecshop浏览记录商品图片标题宽带长度怎么修改

标签: ecshop浏览  
相关文章
推荐文章
模板推荐