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

所属分类: CMS教程 / 帝国cms 阅读数: 470
收藏 0 赞 0 分享

本文实例讲述了帝国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的网站程序设计有所帮助。

更多精彩内容其他人还在看

用帝国自定义标签实现当前栏目高亮

不多废话,直接进入主题,此方法结合帝国论坛两个帖子实现,分别为 巧用帝国的标签实现真正的当前栏目高亮(绝对精华) 和灵动标签应用大汇总
收藏 0 赞 0 分享

帝国CMS显示头条/置顶/推荐标识实现方法

最近在搞帝国CMS,如果文章包含图片,或者文章是置顶的,需要在列表的题头显示相应的标识,后来用灵动标签实现了,这里记录一些,估计会有不少人会用到
收藏 0 赞 0 分享

帝国CMS 6.6中二级域名绑定子目录的方法 图文

最近使用了帝国cms建站,考虑到以后优化我们采用了多个二级域名,网上搜索到的内容很多都是老版本的
收藏 0 赞 0 分享

帝国CMS使用二级域名并解决顶一下的方法

经过几次实践并参照网友提供的一些方法,本人真正实现了二级域名且解决了digg问题,现将本人的方法公布与网友分享
收藏 0 赞 0 分享

帝国cms中关于[!--newsnav--]的问题

想要修改[!--newsnav--] 例如想把“首页 > 金湖站 > 水利新闻”,大栏目“金湖站”的链接去掉修改e/class/connect.php文件,ReturnClassLink()这个方法
收藏 0 赞 0 分享

帝国cms采集图文教程(上,中,下)全集

帝国cms采集图文教程,现在把上,中,下全部都发来.给大家方便的看.
收藏 0 赞 0 分享

帝国cms 封面模板标题调用栏目别名的方法

这篇文章主要为大家分享下帝国cms下封面模板标题调用栏目别名的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

帝国CMS调用自定义列表名称的方法(简单二次开发实现)

这篇文章主要为大家介绍了帝国CMS调用自定义列表名称的方法,列举了两种实现技巧,涉及针对帝国CMS底层代码的修改,需要的朋友可以参考下
收藏 0 赞 0 分享

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

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

帝国下载系统2.5添加迅雷快车专用链的方法

这种修改方法比较简单,使用的是系统默认的小窗口显示下载地址,我添加了快车讯雷还有悟空网盟的手机下载方式。
收藏 0 赞 0 分享
查看更多