帝國cms怎么獲取當前列表id?
本文實例講述了帝國cms在自定義列表中獲取當前列表ID的方法。分享給大家供大家參考,具體如下:
推薦學習《帝國cms教程》
今天用帝國cms做一個項目時,發現帝國自定義列表中無法獲取當前自定義列表的ID。分析帝國源碼后以現,帝國默認傳出的值為0。下面簡單記錄一下如何通過修改源碼實現“帝國CMS自定義列表獲取當前列表ID”
上面所提到的項目功能簡介:
用戶用自定義列表功能創建了大量的自定義列表,然后在這些自定義列表中要獲取到同分類自定義列表名稱,并且當前欄目名稱的樣式要加上特定的css樣式。
自定義列表模板代碼片段
代碼如下:
[e:loop={'select?listid,listname,filepath?from?[!db.pre!]enewsuserlist?where?classid=1',100,24}]
[/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的網站程序設計有所幫助。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END