今天用帝國(guó)CMS做一個(gè)項(xiàng)目時(shí),,發(fā)現(xiàn)帝國(guó)自定義列表中無法獲取當(dāng)前自定義列表的ID。分析帝國(guó)源碼后以現(xiàn),,帝國(guó)默認(rèn)傳出的值為0,。下面簡(jiǎn)單記錄一下如何通過修改源碼實(shí)現(xiàn)“帝國(guó)CMS自定義列表獲取當(dāng)前列表ID”
上面所提到的項(xiàng)目功能簡(jiǎn)介:
用戶用自定義列表功能創(chuàng)建了大量的自定義列表,然后在這些自定義列表中要獲取到同分類自定義列表名稱,,并且當(dā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]
默認(rèn)請(qǐng)況下 $GLOBALS[navclassid] 的值是為空的, 所以我們只需修改程序?qū)?dāng)前自定義列表的ID值賦給$GLOBALS[navclassid]即可
帝國(guó)源程序修改
打開(/e/class/functions.php) 找到函數(shù) ListHtml(可搜索 function ListHtml 快速查找) 中找到如下代碼
$GLOBALS['navclassid']=$classid;
更改成
$GLOBALS['navclassid']=$enews==4?$userlistr['listid']:$classid;
保存(注意文件編碼問題)
重新生成自定義列表,,所需功能已實(shí)現(xiàn),!