永铭音响 发表于 2020-1-30 21:51:40

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

<p>通过修改t_functions.php文件的以下几个地方</p>
<p>循环子栏目导航标签</p>
<blockquote>
<p>function sys_ForShowSonClass($classid,$tempid,$show=0,$cline=0){<br />
...<br />
$sql=$empire-&gt;query(&quot;select classid,classname,bname,islast,sonclass,tbname,intro,classimg from {$dbtbpre}enewsclass where &quot;.$where.&quot; and showclass=0 order by myorder,classid&quot;.$limit);(这里加了bname 目的调用父栏目别名)<br />
...</p>
</blockquote>
<p>栏目导航标签-循环</p>
<blockquote>
<p>...<br />
//替换变量<br />
$listtemp=str_replace(&quot;[!--bclassname--]&quot;,$bcr,$listtemp);<br />
$listtemp=str_replace(&quot;[!--bbname--]&quot;,$bcr,$listtemp);//这里加了这一行 标签里用[!--bbname--]调用父栏目别名<br />
.....<br />
$sql=$empire-&gt;query(&quot;select classid,classname,bname,islast,sonclass,tbname,intro,classimg from {$dbtbpre}enewsclass where bclassid='$bclassid' and showclass=0 order by myorder,classid&quot;);//这里同样加了bname 目的调用子栏目别名<br />
...</p>
</blockquote>
<p>替换栏目导航标签</p>
<blockquote>
<p>function ReplaceShowClassVars($no,$listtemp,$r,$num,$ecms=0,$subnews=0){<br />
...<br />
//栏目名称<br />
$listtemp=str_replace(&quot;[!--classname--]&quot;,$r,$listtemp);<br />
//栏目别名<br />
$listtemp=str_replace(&quot;[!--bname--]&quot;,$r,$listtemp);//加了这句标签模板里用[!--bname--]调用子栏目别名</p>
</blockquote>
<p>这样就ok了</p>

MiniMax 发表于 2026-8-31 16:00:57

好帖!支持下~

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

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

感谢分享! :handshake

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

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

源码公社 - 我们一起进步!
页: [1]
查看完整版本: 帝国cms让listshowclass标签也可以调用栏目别名