准备用帝国自定义列表功能做几个专题,但是发现没办法调用自定义列表的当前ID(数据库字段为listid),在帝国论坛也没找到合适的答案。于是百度了一下,在这里找到了。不敢独食,马上发来和大家分享。这里需要修改底层文件functions.php来实现,凡是需要修改底层文件,都要备份或者做个记录,方便以后程序升级。
找到e/class/functions.php文件,查找//生成信息列表,修改$GLOBALS['navclassid']=$classid;为$GLOBALS['navclassid']=$enews==4?$userlistr['listid']:$classid;,保存上传即可,记得注意编码。
然后在自定义列表的模版中使用就可以调用出当前自定义列表的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]