帝国CMS在⾃定义列表中获取当前列表ID的⽅法
本⽂实例讲述了帝国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;
更改成
复制代码帝国cms文库模板
代码如下:
$GLOBALS['navclassid']=$enews==4?$userlistr['listid']:$classid;
保存(注意⽂件编码问题)
重新⽣成⾃定义列表,所需功能已实现!
希望本⽂所述对⼤家基于帝国CMS的⽹站程序设计有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。