帝国CMS在自定义列表中获取当前列表ID的方法

这篇文章主要为大家介绍了帝国CMS在自定义列表中获取当前列表ID的方法,涉及针对帝国CMS底层源码functions.PHP页面ListHtml函数修改,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了帝国CMS在自定义列表中获取当前列表ID的方法分享给大家供大家参考,具体如下:

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

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

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

自定义列表模板代码片段

代码如下:

>
[/e:loop]

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

帝国源程序修改

通过PHPxref工具分析程序运行流程发现,生成自定义信息列表的函数为ReUserlist(),ReUserlist()进一步调用ListHtml()函数生成信息列表,并传入$enews事件为4,至此即可通过ListHtml()函数传入列表ID。

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

代码如下:

PHP;toolbar:false">$GLOBALS['navclassid']=$classid;

更改成

代码如下:

PHP;toolbar:false">$GLOBALS['navclassid']=$enews==4?$userlistr['listid']:$classid;

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

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

希望本文所述对大家基于帝国CMS的网站程序设计有所帮助。

相关文章

http://shang.qq.com/widget/group.php
[e:loop={91,5,0,0}] <liclass="bj_<?=$bqno?>"><ahref="<?=$bqsr...
原文地址:帝国cms修改编辑器的预览功能作者:白头豕帝国CMS的投稿和录入界面没有专门的"预览"...
增加后台自定义编辑界面 当值后台界面的地址:D:EmpireServerwebeadminadminstyle 复...
原文地址:帝国cms调用当前栏目下所有栏目名称和链接顶级栏目下的栏目调用作者:缘若秋风 这里要用要一...
解决方法:http://bbs.phome.net/showthread-13-148886-0.html