最新公告
  • 欢迎您光临开源论坛,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 帝国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;

    更改成

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

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

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

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

    开源论坛,我们只做源码的搬运工
    开源论坛 » 帝国CMS在自定义列表中获取当前列表ID的方法

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    开源论坛
    一个高级程序员模板开发平台

    发表评论

    • 251会员总数(位)
    • 411资源总数(个)
    • 4本周发布(个)
    • 0 今日发布(个)
    • 249稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情