今天用帝国CMS做一个项目时,发现帝国自定义列表中无法获取当前自定义列表的ID。分析帝国源码后以现,帝国默认传出的值为0。下面简单记录一下如何通过修改源码实现“帝国CMS自定义列表获取当前列表ID”

  上面所提到的项目功能简介:

  用户用自定义列表功能创建了大量的自定义列表,然后在这些自定义列表中要获取到同分类自定义列表名称,并且当前栏目名称的样式要加上特定的CSS样式。

  自定义列表模板代码片段

[e:loop={'selectlistid,listname,filepathfrom[!db.pre!]enewsuserlistwhereclassid=1',100,24}] <li<?=($bqr[listid]==$GLOBALS[navclassid]?'class="this"':'')?>><?=$bqr[listname]?></li> [/e:loop]

  默认请况下 $GLOBALS[navclassid] 的值是为空的, 所以我们只需修改程序将当前自定义列表的ID值赋给$GLOBALS[navclassid]即可

  帝国源程序修改

  打开(/e/class/functions.php) 找到函数 ListHtml(可搜索 function ListHtml 快速查找) 中找到如下代码

$GLOBALS['navclassid']=$classid;

  更改成

$GLOBALS['navclassid']=$enews==4?$userlistr['listid']:$classid;

  保存(注意文件编码问题)

  重新生成自定义列表,所需功能已实现!

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:312334557@qq.com 我们将配合处理!

原文地址:《帝国CMS模板中自定义列表获取当前列表ID的方法!》发布于2022-10-08 14:18:26