我的机械网

搜索
查看: 815|回复: 3

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

[复制链接]

20

主题

-20

回帖

-5

积分

限制会员

积分
-5
发表于 2017-12-10 22:59:36 | |阅读模式
各位网友请注意:我的机械网所有附件、百度网盘提取码、机械资料、PDF资料、压缩包文件均需要回帖后才能下载!

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

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

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

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

自定义列表模板代码片段

复制代码
代码如下:
[e:loop={'select listid,listname,filepath from [!db.pre!]enewsuserlist where classid=1',100,24}]
>
[/e:loop]

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

帝国源程序修改

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

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

复制代码
代码如下:
$GLOBALS['navclassid']=$classid;

更改成

复制代码
代码如下:
$GLOBALS['navclassid']=$enews==4?$userlistr['listid']:$classid;

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

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

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

发表于 2017-12-12 05:49:05 |
我的机械网(www.mejxw.com)是中国机械行业门户网站,为大家提供海 量免费的机械设计资源,范围涉及机械设计加工制造、智能化机器人、液压 电气、软件应用、行业咨询、机械兼职等各个层面,现诚邀您的加入,共同学习,共同进步!

0

主题

5516

回帖

3万

积分

论坛元老

Rank: 8Rank: 8

积分
37957
发表于 2018-11-27 17:11:56 |
453452

0

主题

5553

回帖

3万

积分

论坛元老

Rank: 8Rank: 8

积分
37890
发表于 2018-12-8 15:14:23 |
黑雪赤月
快速回复 返回顶部 返回列表