修改ecshop删除解决标题后面的省略号...
2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家
在ecshop模板中设置了{$goods.goods_name|truncate:10:''}标题后面还是一样会跟着省略号 ... 该如何解决: chinab4c提供该ecshop教程: 1.首先ecshop的模板引擎不完全是smarty 所以在truncate函数上是有区别的
找到 cls_template.php 搜索truncate 你会发现以下代码
case 'truncate':
$p = 'sub_str(' . $p . ",$s[1])";
break;
这里的 sub_str是ec的一个自定义函数在 lib_base.php文件中的
代码如下:
function sub_str($str, $length = 0, $append = true)
{
$str = trim($str);
$strlength = strlen($str);
if ($length == 0 || $length >= $strlength)
{
return $str;
}
elseif ($length < 0)
{
$length = $strlength + $length;
if ($length < 0)
{
$length = $strlength;
}
}
if (function_exists('mb_substr'))
{
$newstr = mb_substr($str, 0, $length, EC_CHARSET);
}
elseif (function_exists('iconv_substr'))
{
$newstr = iconv_substr($str, 0, $length, EC_CHARSET);
}
else
{
//$newstr = trim_right(substr($str, 0, $length));
$newstr = substr($str, 0, $length);
}
if ($append && $str != $newstr)
{
$newstr .= '...';
}
return $newstr;
}
其中 仔细看
这个函数有3个参数 但是在模板引擎文件中只代了2个参数
2. 以下提供两种方法修改:
方法一
找到 cls_template.php 搜索truncate
case 'truncate':
$p = 'sub_str(' . $p . ",$s[1],$s[2])";
break;
然后在你的后台清除一下缓存
{$goods.goods_name|truncate:10:false}
就只显示5个字 也不会出现...
方法二
直接用代码删除页面显示中的省略号,找到lib_base.php中
if ($append && $str != $newstr)
{
$newstr .= '...';
}
这样{$goods.goods_style_name}也不会显示 ...
这里chinab4c推荐大家使用第一种方法
(责任编辑:chinab4c) |
最近更新
常用插件
- ecshop二次开发商品购买增
图片1香...
- ecshop2.7.2生成虚拟订单2.
以前我们开发过ecshop下的虚拟订单,就是客户在访问的时候,会自动生...
- ecshop2.7.1邮件发送插件
ecshop2.7.1邮件发送插件:该插件主要的开发思想是源于ecshop短信发送系统...
- ecshop最小购买数量控制插
ecshop最小购买数量控制插件,这个插件主要是为我们提供一个十分方便...
- ecshop没登陆情况下订单查
ecshop没登陆情况下订单查询插件,主要是针对ecshop在没有登陆的情况下...
ecshop热门问答
ecshop热门资料
ecshop默认模板
ecshop新浪
ecshop安装系统
购买记录
ecshop导航站
ecshop视频窗口
ecshopinput
ecshop下拉
ecshop站外廣告
ecshop浏览次数
ecshop干儿子
ecmall排行
ecshop商品分类显示象导航
ecshop点选
ecshop配件
ecshopJava
ecshop面板
ecshop帖子
ecshop防火
ecshopsql语句
ecshop商品详细页面
ecshop改错
ecshop逗号
ecshop怎样
ecshop贺卡
ecshop后台商品分类
ecshop产品名
ecshop淘宝商品采集
ecshop父分类名
ecshop丁字湾麻石网