帝国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;
保存(注意文件编码问题)
重新生成自定义列表,所需功能已实现!
相关热词: 方法
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jz/ecms/8832.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
帝国ecms列表页标题图片判
时间:2020-12-26
-
帝国cms模板怎么在BGK和U
时间:2020-12-25
-
帝国cms会员前台怎么关闭
时间:2020-12-25
-
帝国CMS7.0碎片功能升级后
时间:2020-12-25
-
帝国cms怎么修改软件下载
时间:2020-12-25
-
帝国CMS 6.0功能解密之会员
时间:2020-12-15
-
帝国cms如何导出模板
时间:2020-12-14
-
帝国CMS 6.0功能解密之评论
时间:2020-12-13
热门文章
-
帝国CMS7.0新增将信息处理结果反馈给会员
时间:2020-12-10
-
帝国CMS7.0专题大更新,功能更强大,制作
时间:2020-12-10
-
修改帝国CMS模板出现Application Firewall Ale
时间:2020-12-08
-
帝国CMS7.0新增外部登录接口平台,且将率
时间:2020-12-10
-
帝国6.6版本新增信息快速修改基本属性功
时间:2020-12-11
-
帝国CMS7.2新增批量更新信息评论数功能,
时间:2020-12-09
-
帝国cms6.6版本新增专题属性自定义字段功
时间:2020-12-12
-
帝国CMS7.5的信息头条和推荐各支持255级更
时间:2020-12-08
-
帝国cms的信息反馈增加反馈编号加回复功
时间:2020-12-12
-
帝国CMS用户自定义函数取昨天发表的文章
时间:2020-12-09
