作为一个摸帝国摸了快8年、从只会复制粘贴模板代码到能给系统“挠痒痒改小毛病”的半吊子老手——哦不对是资深踩坑侠,今天必须掏心窝子跟你说一件帝国入门99%要踩、踩完还得挠头半小时搜半小时试半小时放弃最后找大佬花钱改的破事:
帝国CMS内容文字截取标签设置!
别笑哈,剪头发谁不会?但给长文剪刘海儿剪得不像狗啃、不像锅盖、不夹眼睛、不遮痘印——哦不对不夹关键词不遮标题钩子——那可真是个技术活!今天就用我剪坏800篇首页文章刘海儿的血泪史,给你把帝国CMS内容文字截取标签设置里的坑全踩平焊死埋上水泥再踩两脚!
(土味正能量第一条:学会剪刘海儿,首页流量不用愁!专业细节焊死坑,土味土土更安心!)
刚摸帝国的时候我跟你们一样,拿到模板一看首页文章列表有个地方显示“摘要”,就直接把后台自带的摘要框填得满满当当——结果呢?要么填得太长,超出预设的刘海儿长度(哦不超出div宽度),要么填得太敷衍,像没睡醒的人随便薅了两根头发,钩子全没了!
后来大佬告诉我:别犯懒!别填那个默认框!用帝国自带的帝国CMS内容文字截取标签设置里的“自动剪头发”(哦不自动截取)功能!哦对哦系统默认其实也有自动截取标签,但90%的新手用不好!
帝国CMS自动截取正文文字的标签,最常用的就这个:
``` =esub($navinfor[newstext],150,'...')?> ```哦对哦变量别写错!$navinfor[newstext]是当前栏目文章正文的变量!如果是标签调用的话,比如灵动标签(灵动标签是帝国的万能挖掘机挖内容的!后面有空说),就换成$r[newstext]!
这里要敲黑板(魔性敲黑板,敲三下:帝国CMS内容文字截取标签设置别瞎填变量!帝国CMS内容文字截取标签设置别瞎填变量!帝国CMS内容文字截取标签设置别瞎填变量!)!
哦刚才忘说了,$navinfor是内容页专用变量!灵动标签标签调用的话必须是$r或者$bqr!别搞混搞成“剪别人头发安自己头上”——那首页会直接白屏或者显示一堆乱码或者报错找不到变量的!
(土味正能量第二条:变量是头发根,剪头发别连根拔,别拔别人的根!)
用了上面的esub标签是不是感觉很爽?终于不用自己填摘要了?别急别急,高兴得太早!你试试正文里有个加粗的、有个换行的
、有个图片的标签,再用esub标签截取100字看看?
是不是刘海儿里突然冒出个半截子或者半截子?然后首页排版直接乱成一锅粥?像狗啃了之后还掉了几根刺扎在脸上?
对哦对哦这就是新手第二大坑:自动剪头发(esub标签)不会先把头发上的发卡(哦不HTML标签)摘下来再剪!那咋整?
别慌!帝国CMS早给你准备了摘发卡的工具!就是这个strip_tags()函数!把它套在esub标签的截取变量外面就行!语法格式也很简单:
``` =esub(strip_tags($navinfor[newstext]),150,'...')?> ```哦对哦标签顺序别搞反!先摘发卡再剪!别剪完头发再摘——那刺已经扎脸上了!哦对顺序搞反了也没用,还可能报错!
再敲三下黑板(这次敲的是带刺的黑板,疼得我嗷嗷叫):帝国CMS内容文字截取标签设置顺序不能反!帝国CMS内容文字截取标签设置顺序不能反!帝国CMS内容文字截取标签设置顺序不能反!
(土味正能量第三条:做事先理清楚顺序,摘发卡再剪头,不然刘海儿变刺猬头没人看!)
哦对哦用了上面的组合标签是不是感觉完美了?别急别急!还有一个很小但很影响体验的坑:省略号的位置!
比如你设置截取100个汉字,刚好第100个汉字是“我”,省略号加在后面没问题!但如果第100个位置是英文单词的中间?哦不对刚才用了strip_tags摘了发卡但没说英文单词会不会卡?哦英文单词帝国CMS的esub标签是按字符数算的?哦中文汉字一个算两个字符?哦不对哦刚才我是不是写错了?哦等下帝国CMS7.5之后的版本esub标签支持UTF-8编码下按汉字长度截取了!但如果是旧版本呢?哦别慌旧版本也有办法,但今天咱主要说新版本(毕竟99%的新手现在下载的都是帝国CMS7.5 UTF-8)!
哦拉回来拉回来!省略号的坑!比如你设置截取150个汉字,但正文最后一段只有100个汉字,那esub标签会不会加省略号?哦有的新手说会!有的新手说不会!哦为啥?哦因为帝国CMS的esub标签有个默认条件:只有当正文长度超过你设置的截取长度的时候,才会加省略号!哦对哦有的新手不知道这个,硬加省略号,结果短文章后面也跟着三个点,像没说完话的结巴!
还有的新手反过来,觉得短文章加不加无所谓,但长文章的省略号有时候会加在标点符号后面?哦这个好像帝国CMS新版本优化得差不多了,但有时候还是会抽风!咋整?
哦别慌!我给你分享一个我用了8年的终极组合标签,不管正文长不长,不管有没有标点符号,不管有没有英文单词,都能剪出来完美的齐刘海儿!(偶尔抽风的话重启下后台或者更新下缓存就行,这是帝国CMS的小脾气,得哄!)
终极组合标签语法格式:
``` 300){ //这里300是字符数,UTF-8下一个汉字3个字符,所以100个汉字左右!自己改! echo esub($temptext,100,'...'); }else{ echo $temptext; } ?> ```哦对哦这段是PHP代码,别直接复制到帝国CMS的模板标签框里!哦不对灵动标签里面可以放PHP代码的!哦帝国CMS的模板编辑器支持PHP代码的!只要你开启了模板的PHP解析功能!哦对哦开启方法很简单:后台-系统-系统设置-系统参数设置-模板设置-允许模板使用PHP代码,把这个勾打上就行!
哦开启之后记得更新下所有缓存!不然PHP代码不生效!
(土味正能量第四条:开启PHP解析功能,给模板安个小马达,剪出来的刘海儿更完美!)
好啦好啦,今天的帝国CMS内容文字截取标签设置血泪史就讲到这里!最后给你总结几个剪完美齐刘海儿的小技巧:
哦对哦忘了说了,帝国CMS还有一个专门截取摘要的标签:$navinfor[smalltext]或者$r[smalltext],但这个标签只能读取你后台填的默认摘要框的内容!所以还是不如自动截取标签香!
(土味正能量第五条:学会帝国CMS内容文字截取标签设置,再也不用愁首页摘要!首页摘要写得好,流量涨得比高铁还快!)
好啦好啦,我要去继续摸帝国CMS的其他小毛病了!有问题评论区留言哈!我看到都会回的!拜拜!
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图