查看: 212|回复: 1

[教程] 帝国cms让listshowclass标签也可以调用栏目别名

[复制链接]

2

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-12-15
发表于 2020-1-30 21:51:40 | 显示全部楼层 |阅读模式

通过修改t_functions.php文件的以下几个地方

循环子栏目导航标签

function sys_ForShowSonClass($classid,$tempid,$show=0,$cline=0){
...
$sql=$empire->query("select classid,classname,bname,islast,sonclass,tbname,intro,classimg from {$dbtbpre}enewsclass where ".$where." and showclass=0 order by myorder,classid".$limit);(这里加了bname 目的调用父栏目别名)
...

栏目导航标签-循环

...
//替换变量
$listtemp=str_replace("[!--bclassname--]",$bcr[classname],$listtemp);
$listtemp=str_replace("[!--bbname--]",$bcr[bname],$listtemp);//这里加了这一行 标签里用[!--bbname--]调用父栏目别名
.....
$sql=$empire->query("select classid,classname,bname,islast,sonclass,tbname,intro,classimg from {$dbtbpre}enewsclass where bclassid='$bclassid' and showclass=0 order by myorder,classid");//这里同样加了bname 目的调用子栏目别名
...

替换栏目导航标签

function ReplaceShowClassVars($no,$listtemp,$r,$num,$ecms=0,$subnews=0){
...
//栏目名称
$listtemp=str_replace("[!--classname--]",$r[classname],$listtemp);
//栏目别名
$listtemp=str_replace("[!--bname--]",$r[bname],$listtemp);//加了这句标签模板里用[!--bname--]调用子栏目别名

这样就ok了

回复

使用道具 举报

0

主题

2331

回帖

1万

积分

琼殿精英

金币
11777
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-10-11
发表于 2026-8-31 16:00:57 | 显示全部楼层
好帖!支持下~

一直觉得帝国CMS的listshowclass标签功能不够完善,调用不了栏目别名很麻烦,没想到还能这样修改解决!

按照楼主的办法改了一下,确实成功了!现在模板里可以用[!--bname--]调用子栏目别名,用[!--bbname--]调用父栏目别名,方便多了~

感谢分享! :handshake

不过提醒一下各位朋友,修改系统文件前记得先备份,不然出错了还能恢复。另外如果升级帝国CMS版本,可能需要重新修改。

支持原创技术贴! :strong: 源码公社就应该多些这样的实用教程

源码公社 - 我们一起进步!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

圆梦公社,专注于为全球华人提供纯粹技术交流的地方,请勿发布任何政治及违法的言论。如有相关侵权、举报、投诉及建议等,请发 E-mail:dzh188@hotmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部