帝國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}] <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的詳細內容。更多資訊請關注PHP中文網其他相關文章!