帝国CMS用函数esub()截取并控制文章列表中标题字数

admin
admin
admin
107
文章
2
评论
2021年2月1日10:33:34
评论
96

因为接触帝国CMS不久,近期对网站的修改也比较堵,所以近期会有很多帝国CMS方面的问题对我来说都是新问题,每一次想办法解决的问题我都会第一时间分享到品自行博客。今天看到网站相关文章列表,标题过长的情况下会自动截断,这样看起来特别不友好,所以今天就解决这个问题,根据需要修改的文章的模型来修改对应的内容模板:

到后台模板管理>内容模板>管理内容模板,修改对应的内容模板,我这里修改的是新闻内容模板,点“编辑”即可进行修改,帝国CMS用函数esub()截取并控制文章列表中标题字数

因为我要修改的是相关文章下面的文章列表,所以我找到这段代码:

<li><a href='<?=$row[titleurl]?>' target=" _blank">

<span><?=date("Y-m-d",$row[newstime])?></span>

<?=esub($row['title'],32)?></a>

</li><?}}else{$sql = $empire->query("SELECT title,titleurl,newstime FROM {$dbtbpre}ecms_download WHERE isgood>0 ORDER BY id DESC limit 10");

上述代码很多,我们只要搞清楚控制文章列表标题字数的那段代码就ok了,上述红色字体的代码

<?=esub($row['title'],32)?>

就是代表标题文字,后面的32代表截取的字符数,之所以文章标题没有完全显示就是这个数字在控制,简单说一下,32代表截取文章标题前32个字符,一个汉字是两个字符,所以如果文章标题全部都是汉字,那最多也就显示标题前面16个汉字,后面多的汉字不予显示,数字、字符算一个字符。

帝国CMS esub()截取字段函数的用法

语法:esub(字符串,截取字数,后缀)

说明:后缀为截取字符后附带内容,此参数可以省略。

帝国CMS默认的截取32个字符,所以明白了这一点就好办了,我们只需要修改这个数字,我这里直接改到50了,这个根据自己网站需要进行更改,其他不要改。

<?=esub($row['title'],50)?>

如果标题后面加省略号那又怎么修改呢?

按照下面代码进行更改即可:

<?=esub($row['title'],32,'...')?>
admin
  • 本文由 发表于 2021年2月1日10:33:34
  • 转载请务必保留本文链接:http://www.pinzixing.com/498.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: