新聞中心
Ecshop教程:文章標(biāo)題、商品名稱后的“······”如何去除
作者 / 無憂主機(jī) 時(shí)間 2015-10-26 13:17:08
無憂主機(jī)小編最近在搗鼓自己php空間的ecshop,發(fā)現(xiàn)商品標(biāo)題超過后臺(tái)設(shè)置的顯示字?jǐn)?shù)時(shí),會(huì)顯示省略號(hào)。最近客戶反映商品名稱在前臺(tái)顯示出現(xiàn)省略號(hào),這個(gè)到底能不能刪除,請(qǐng)問怎樣修改,才會(huì)不顯示省略號(hào)呢?即使你在模板文件里 修改為 {$goods.goods_name|truncate:10:''} ,但還是一樣會(huì)跟著省略號(hào) ... 。又該如何刪除這個(gè)省略號(hào)呢?無憂小編在網(wǎng)上收集了一些資料。發(fā)現(xiàn)ecshop的模板引擎不完全是smarty, 所以在truncate函數(shù)上是有區(qū)別的找到 cls_template.php 搜索truncate會(huì)發(fā)現(xiàn)以下代碼:
case 'truncate': $p = 'sub_str(' . $p . ",$s[1])"; break;這里的 sub_str是ec的一個(gè)自定義函數(shù), 位置在includes/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; }其中 仔細(xì)看 這個(gè)函數(shù)有3個(gè)參數(shù) 但是在模板引擎文件中只代了2個(gè)參數(shù),那么下面幫大家處理下這個(gè)問題。以下是一種徹底的修改方法,修改完后,將永遠(yuǎn)不再顯示 省略號(hào) ...有一下兩種方法: 1、找到 cls_template.php 搜索truncate
case 'truncate': $p = 'sub_str(' . $p . ",$s[1],$s[2])"; break;然后在你的后臺(tái)清除一下緩存
{$goods.goods_name|truncate:10:false}就只顯示5個(gè)字 也不會(huì)出現(xiàn)... 2、直接干掉lib_base.php中的下面代碼
if ($append && $str != $newstr) { $newstr .= '...'; }這樣{$goods.goods_style_name}也不會(huì)顯示 以上兩種方法,都可以刪除掉商品名稱或文章標(biāo)題后的省略號(hào)了。 無憂主機(jī)相關(guān)文章推薦閱讀: ECSHOP教程:詳細(xì)頁不同級(jí)別客戶看到不同價(jià)格 ECSHOP如何優(yōu)化重寫ECSHOP分頁GET_PAGER函數(shù) ECSHOP的RECIEVE.PHP郵件自動(dòng)確認(rèn)收貨BUG如何修正
本文地址:http://m.gle-technology.com/ecshop/20472.html