建站服務器
這篇文章主要介紹帝國cms獲取當前列表id的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
帝國cms怎么獲取當前列表id?
本文實例講述了帝國cms在自定義列表中獲取當前列表id的方法。分享給大家供大家參考,具體如下:
今天用帝國cms做一個項目時,發(fā)現(xiàn)帝國自定義列表中無法獲取當前自定義列表的id。分析帝國源碼后以現(xiàn),帝國默認傳出的值為0。下面簡單記錄一下如何通過修改源碼實現(xiàn)“帝國cms自定義列表獲取當前列表id”
上面所提到的項目功能簡介:
用戶用自定義列表功能創(chuàng)建了大量的自定義列表,然后在這些自定義列表中要獲取到同分類自定義列表名稱,并且當前欄目名稱的樣式要加上特定的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工具分析程序運行流程發(fā)現(xiàn),生成自定義信息列表的函數為reuserlist(),reuserlist()進一步調用listhtml()函數生成信息列表,并傳入$enews事件為4,至此即可通過listhtml()函數傳入列表id。
打開(/e/class/functions.php) 找到函數 listhtml(可搜索 function listhtml 快速查找) 中找到如下代碼
代碼如下:
$globals['navclassid']=$classid;更改成
代碼如下:
$globals['navclassid']=$enews==4?$userlistr['listid']:$classid;保存(注意文件編碼問題)
重新生成自定義列表,所需功能已實現(xiàn)!
以上是帝國cms獲取當前列表id的方法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注資訊頻道!