帝國CMS怎么獲取當前列表ID

帝國CMS怎么獲取當前列表ID

帝國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}] 
  • >=$bqr[listname]?>
  • [/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
    喜歡就支持一下吧
    點贊11 分享