• 微信
您当前的位置:首页  > 文章 >  帝国CMS在自定义列表中获取当前列表ID的方法

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

作者:admin 时间:2019-10-17 阅读数:人

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

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

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

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

自定义列表模板代码片段

复制代码
代码如下:[e:loop={"select listid,listname,filepath from [!db.pre!]enewsuserlist where classid=1",100,24}]
<li<?=($bqr[listid]==$GLOBALS[navclassid]?" class="this"":"")?>><?=$bqr[listname]?></li>
[/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的网站程序设计有所帮助。

声明

源码下载不顺利,比如源码在百度网盘的有时会被无故取消等,请联系QQ:46667551
本站大部分下载资源收集于网络,但除特别说明之外,基本全部亲自测试可用!
但由于某些源码的更新迭代,比如微信小程序官方接口的变动等原因,
如时间过长,可能会造成本可以使用的代码出现问题,下载前请斟酌!
本站资源仅供学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。

原文链接:https://www.dnwfb.com//64.html,转载请注明出处