您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程
ecshop浏览记录商品图片标题宽带长度怎么修改
紫南2024-01-16 21:14:58ecshop商城教程已有人查阅
导读ecshop里面有浏览历史记录,在ecshop二次开发的时候,常常对这个地方进行调整.到不是说修改浏览历史记录的原理。而是修改ecshop浏览历史记录的数据显示方式.很简单
ecshop里面有浏览历史记录,在ecshop二次开发的时候,常常对这个地方进行调整.到不是说修改浏览历史记录的原理。而是修改ecshop浏览历史记录的数据显示方式.很简单,ecshop的商品浏览历史记录。他是借助cookie 来实现的。他是记录在ecshop的$_COOKIE['ECS']['history']变量里面的。
我们先看ecshop的商品详细内容页面goods.php,里面有段程序.
在商品的浏览历史记录里面,可以通过商品ID来取得所有的浏览历史记录.
需要修改的文件:includes\lib_insert.php,找到函数:function insert_history(),下面的代码:
另外,调用的模板文件:history.lbi,中的:
参考案例二:
浏览历史中标题长度的控制:因为不是在模板文件而是在系统文件中,所以在模板文件中能使用的控制方法并不适用,而是需要使用函数进行控制。
程序中用于控制short_name长度的语句
在这里把
其中,18是标题长度,这里是按照中文字符算的,18就表示18个中文。$append = true表示当原标题超过18个字符时,以【…】结尾。
我们先看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";
从而返回一个浏览历史记录的商品信息数组.需要修改的文件:includes\lib_insert.php,找到函数:function insert_history(),下面的代码:
$str.=’<ul><li><a href=”‘.$goods['url'].’” target=”_blank”><img src=”‘.$goods['goods_thumb'].’” alt=”‘.$goods['goods_name'].’” /></a></li><li><a href=”‘.$goods['url'].’” target=”_blank” title=”‘.$goods['goods_name'].’”>’.$goods['short_name'].’</a><br />’.$GLOBALS['_LANG']['shop_price'].’<font>’.$goods['shop_price'].’</font><br /></li></ul>’;
上面的代码就是所对应的样式代码,修改即可。另外,调用的模板文件:history.lbi,中的:
<div id=’history_list’>
{insert name=’history’}
</div>
其中,id=”history_list”是“清空”操作的ID。参考案例二:
$str .= '<ul class="wytoplist"><li>
<div>
<div class="wyimg"><a class="track" target="_blank" href="'.$goods['url'].'"><img style="width: 68px; height: 95px; display: inline;" alt="'.$goods['goods_name'].'" src="'.$goods['goods_thumb'].'"></a></div>
<div class="wytitle" style="width:105px;">
<div class="wytitle1"><a title="'.$goods['goods_name'].'" target="_blank" class="track" href="'.$goods['url'].'">'.$goods['goods_name'].'</a></div>
<div class="wyshoujia">優惠價:</div><b>'.$goods['shop_price'].'</b>
</div>
</div>
</li></ul>';
标题长度控制:浏览历史中标题长度的控制:因为不是在模板文件而是在系统文件中,所以在模板文件中能使用的控制方法并不适用,而是需要使用函数进行控制。
程序中用于控制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个字符时,以【…】结尾。
本文标签:
很赞哦! ()
随机图文
-
ecshop商品购买批发起订量数量插件开发教程
做过ECSHOP商城,或者说经营过商城的都会知道,有很多商品利润很小,而且还要包运费什么的,所以根本就是做 的生意,如果利润小 -
ecshop函数列表总结大全
重新计算购物车中的商品价格:目的是当用户登录时享受会员价格,当用户退出登录时不享受会员价格 -
ecshop取消删除注册的时候验证码认证的方法(原创)
1、总项目下languages/zh_cn/user.php;将弹窗手机和邮箱的验证码不能为空注释!!2、总目录下register.php;找到 手机和邮箱的验证码检查 注释 ! 下面是注释代码 -
ecshop搬家/备份/转移/更换主机服务器的方法
有时候由于备案被注销,虚拟主机不够用等各种方面的原因,网站搬家是再所难免的,网站搬 家即是把网站从一个服务器空间搬到另一个服务器空间,更深入地说就是把网站的数据从原来的服务器转移到新的服务器上。
留言与评论 (共有 条评论) |
大家在看
本栏推荐
相关标签
大家喜欢
- ecshop编辑器Fckeditor上传图片中文名称乱码的解决方法
- ecshop品牌页实现分页换页功能的方法
- 如何去掉删除ecshop后台升级补丁提示及删除云激活提示
- ecshop商品订单只要有一个包邮商品,整个商品订单全部包邮
- ecshopH5应用配置,H5社繁殖置,H5微信登录配置教程
- ecshop购物车结算页面显示商品品牌的方法
- 修改让在ecshop前台购物时无法选择“ ”的方法
- ecshop客服管理不同会员二次开发方法
- ecshop出现XMlHttpRequest status:[500] Unknow status 这个错误
- ecshop删除meta name="Generator" content="ECSHOP v2.7.2"去版权