Discuz模板|Discuz插件|Discuz教程|Discuz素材免费下载

 找回密码
 立即注册

QQ登录

只需一步,快速开始

广告
温馨提示:本站所有DZ相关模板、插件、教程(包括DZ应用中心已下架插件、模板)所有用户可全部免费下载,无任何收费模式(不包括VIP版块非DZ资源,VIP版块需购买会员组方可下载),如本站没有您需要的插件或模板,请自行前往淘宝互站网送吗网等第三方站点搜索相关插件或模板进行低价格购买下载本站非常不建议用户浪费金钱前往DZ应用中心购买。

删除ECSHOP商品名称或文章标题后的省略号...

[复制链接]
tuzi 发表于 2015-8-9 00:15:06 | 显示全部楼层 |阅读模式
温馨提醒:禁止内容附带广告图片、二维码图片,否则将在不通知情况下永久禁言账号!
欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]


使用ECSHOP 的人都知道,在商品列表页或文章列表页,如果商品名称或文章标题比较长的话,后面会出现一个 省略号 ...,5 U+ t$ D/ v& D1 h
即使你在模板文件里 修改为 {$goods.goods_name|truncate:10:''} ,标题后面还是一样会跟着省略号 ... ,这到底是为什么呢?6 M4 M) B1 n8 }* S5 Y8 [
又该如何删除这个省略号呢???: _7 R" `) x; D0 f; V' }
6 S$ ^/ c: M* H
最近发现 ec的模板引擎不完全是smarty, 所以在truncate函数上是有区别的. R2 Y) f, c0 {4 _) D& F- w

, J( N% b, p3 n7 D找到 cls_template.php 搜索truncate 你会发现以下代码4 F! q+ Y) l% [! P
case 'truncate':* Q9 g" ~: |* w( C
$p = 'sub_str(' . $p . ",$s[1])";: |/ I$ W* \6 E) P$ a) p
break;) v* d$ Y* h2 C1 a) b. m# l

* N1 S: e  s6 P) N* @$ E这里的 sub_str是ec的一个自定义函数, 位置在 lib_base.php文件& G" n  O! x8 ^( ^$ f8 i
代码如下:9 E) O# ]& Y) j. V
function sub_str($str, $length = 0, $append = true): k  x* ^" H* _
{1 m. N( ?# v. x! R: d- U; B! B
$str = trim($str);
- S6 D% Q1 {: O9 v$strlength = strlen($str);
" h& Y/ j; M6 d( G) Wif ($length == 0 || $length >= $strlength)+ b8 W5 j5 ~' e* h# \! Z
{
; o+ p- V5 D% G& ]0 n8 I       return $str;
8 {6 e( ^, }# n/ t}9 F, p/ s, l# Q0 M$ X1 y6 j
elseif ($length < 0)1 t! v5 S& _; B/ E
{
) r. J  ]+ X) e7 N* w3 S. Y/ @       $length = $strlength + $length;
- {! h) h+ X  f" S# O* o       if ($length < 0)
4 ~, |/ }2 K2 g; z, v       {! @8 c7 P$ f3 s5 X
         $length = $strlength;
& r) u% \7 Y. D* m' F9 B5 J2 f       }
; S, w7 s# E9 m# |, D  O2 o}3 P7 T7 _9 D, M
if (function_exists('mb_substr'))% U( i. v5 Z/ n+ s1 Y6 G# D
{# O& @6 o% L4 o7 V1 Y6 e
       $newstr = mb_substr($str, 0, $length, EC_CHARSET);' c1 R% K5 S& N6 I4 w3 g; o* ~
}* w$ o, s2 E9 b, F
elseif (function_exists('iconv_substr'))( _* I2 d3 Z8 ]% K9 k& e
{
9 @& j% K' s. g2 p       $newstr = iconv_substr($str, 0, $length, EC_CHARSET);" W5 A% ^9 u% ^5 x$ a" K
}
. Y7 q$ p/ h6 |2 K0 l3 Welse
1 d8 Z5 z  A, W4 P& f( L5 ?{" E% A; k1 e, O8 E7 h' N
       //$newstr = trim_right(substr($str, 0, $length));7 Q3 i4 T9 D* J& Z3 D! O
       $newstr = substr($str, 0, $length);
% R6 V. ?3 }! Y}2 P9 a- h2 W( i' ?
if ($append && $str != $newstr)% }" t1 l  x" m7 F: B
{# l6 h5 i! v- y& L
       $newstr .= '...';  t" r3 Y/ g6 x! E3 G  c1 R
}) g2 A* p5 _; B3 {' w
return $newstr;- u5 C. C; a2 b0 T( j" i; t# [+ K
}6 b# _: f6 X% R+ U' S" i# D
其中 仔细看
# l4 |4 Y3 Y7 }' L* {( i; d% f这个函数有3个参数 但是在模板引擎文件中只代了2个参数6 u4 n5 H. [, C4 l3 @( T3 W8 C: d

& S0 f% a# r/ |; x" u方法一' ^. t# Y! [6 ]  h
找到 cls_template.php 搜索truncate4 t' ^9 n  z( r: j" ^7 L
case 'truncate':
, R3 t% O/ _( d% n) o$p = 'sub_str(' . $p . ",$s[1],$s[2])";7 L8 q8 ^+ [$ H$ x  z. R" x
break;
4 `2 i5 p# M) D& d, w9 I* r1 v3 ^: I$ W9 _
然后在你的后台清除一下缓存
- J) \8 `7 t0 l& J5 T& r{$goods.goods_name|truncate:10:false}
/ A, V$ z6 q& [0 D" T4 |3 Q# j' O: t8 Z) W就只显示5个字 也不会出现.../ R  n# b$ z% F
0 y/ R; i8 j' p
  r9 ?% f- \$ O" p) _& j

1 a$ X: o$ c5 r$ k& ^2 k2 h方法二
3 A2 B- M* O& ?$ u7 a直接干掉lib_base.php中的下面代码
9 ?" n5 ]* z0 h! v, k
  W+ `$ u1 m- d, v9 s) Oif ($append && $str != $newstr)
: Z; u5 _& z. U: H{
% {! E: s) i, S. x3 R6 U& l       $newstr .= '...';
& b+ v2 i; I  \* t. t* {1 V: }( P}; K' q$ P* n0 @8 F" `' ]

9 X+ Y1 {8 O4 Q- j
! ^. p8 f! v+ F6 B这样{$goods.goods_style_name}也不会显示
) Q9 E: S+ V* U+ }; u) ?. A
  P! z- ~1 E& q6 }) h% e* w9 w以上两种方法,都可以删除掉商品名称或文章标题后的省略号
$ O6 m) N' C& S" e) O3 G

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




自动排版 | 高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广告

兔源码网 (公网安备36112102000036号 赣ICP备17001544号)

兔源码 QQ交流群:493651246  GMT+8, 2020-1-26 23:34
←站长统计工具 查看密码:tuyuanma

兔源码DZ模板下载 站长邮箱:tuyuanma@qq.com 站长QQ:3197813386 网站地图

© 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

     
快速回复 返回顶部 返回列表