本文講述了帝國CMS調用自定義清單名稱的方法,腳本之家在這裡提供了2種實作方法,涉及針對帝國CMS底層代碼的修改。具體如下:
一、問題描述:
需要調出自定義清單名稱,如下圖所示:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CZ5ADNxYmZzcTMmhTO0YDMihjZxIGZ2kjNzEDZ4MjMi9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
而使用帝國CMS原有的标簽隻能調用網頁标題,而無法調出清單名稱
二、解決方法:
方法一:
首先需要實作自定義清單可調出目前欄目ID,具體方法可參考腳本之家前面的教程《帝國CMS在自定義清單中擷取目前清單ID的方法》。
能夠在自定義清單通過$navclassid擷取目前欄目ID的話,問題就變得非常簡單了,使用靈動标簽的SQL調用如下:
複制代碼代碼如下:
[e:loop={"select * from [!db.pre!]enewsuserlist where listid=$navclassid",1,24,0}]
=$bqr['listname']?>
[/e:loop]
這樣就可以調出清單名了!
方法二:
修改帝國CMS源碼,添加調用字段實作直接調用該名稱。
具體操作如下:
步驟1:
打開e\admin\other\ListUserlist.php檔案,在大約147行找到重新整理自定義清單函數function DoReUserlist($add,$userid,$username){
在該函數的查找調用資料庫字段部分找到這段代碼:
複制代碼代碼如下:
$ur=$empire->fetch1("select listid,pagetitle,filepath,filetype,totalsql,listsql,maxnum,lencord,listtempid,pagekeywords,pagedescription from {$dbtbpre}enewsuserlist where listid='".$listid[$i]."'");
添加listname字段,改成如下形式:
複制代碼代碼如下:
$ur=$empire->fetch1("select listid,listname,pagetitle,filepath,filetype,totalsql,listsql,maxnum,lencord,listtempid,pagekeywords,pagedescription from {$dbtbpre}enewsuserlist where listid='".$listid[$i]."'");
如下圖所示:
步驟2:
打開e\class\functions.php,在大約2467行找到生成資訊清單函數function ListHtml($classid,$fields,$enews=0,$userlistr=""){
添加自定義字段:
複制代碼代碼如下:
$GLOBALS['navclasslistname']=$enews==4?$userlistr['listname']:"";
如下圖所示:
至此,就可以在清單模闆使用$GLOBALS['navclasslistname']調用自定義清單名稱。
希望本文所述對大家基于帝國CMS的網站程式設計有所幫助。