帝国cms [!--class.name--]调用输出的是栏目别名的原因及解决办法

2020-06-09 Jgw、无尘 1084次

在使用帝国cms的过程中,发现模板页通过[!--class.name--]和[!--this.classname--]来调用栏目名称,本来是希望显示栏目名称的,但是实际生成的页面显示的确实栏目别名,原因是帝国cms默认在填了栏目别名的情况下,[!--class.name--]优先调用栏目别名。对于站长来说这显然不是很合理呀。


那么如何实现使用[!--class.name--]调用出来的就是栏目名而不要出现栏目别名呢?

作为程序员,无尘首先想到的办法就是修改帝国cms的代码来,下面来看看如何修改吧


1、找到 /e/class/connect.php 文件搜索“function sys_ReturnBqClassname($r,$have_class=0)” 找到代码段

if(empty($class_r[$r[classid]][bname]))

{$classname=$class_r[$r[classid]][classname];}

else

{$classname=$class_r[$r[classid]][bname];}


把他注释掉,改成:$classname=$class_r[$r[classid]][classname];

未命名截图


搜索“function ReplaceListVars”找到代码段

$thisclassname=$class_r[$r[classid]][bname]?$class_r[$r[classid]][bname]:$class_r[$r[classid]][classname];

把他注释掉,改成:$thisclassname=$class_r[$r[classid]][classname];

未命名截图


2、找到 /e/class/t_functions.php 文件搜索“function sys_ReturnEcmsLoopStext($r)”找到代码段

$sr['classname']=$class_r[$r[classid]][bname]?$class_r[$r[classid]][bname]:$class_r[$r[classid]][classname];

把他注释掉,改成:$sr['classname']=$class_r[$r[classid]][classname];

未命名截图


声明:
1.本站的资源收集于互联网,仅供大家学习交流,请勿用于非法用途,否则后果自负!
2.如转载本站的原创文章,请勿必注明文章来源,对于不尊重原创的行为我们将追究责任