帝國cms模板教程之欄目自定義字段調用教程及代碼
來源:易賢網 閱讀:838 次 日期:2014-11-28 16:23:22
溫馨提示:易賢網小編為您整理了“帝國cms模板教程之欄目自定義字段調用教程及代碼”,方便廣大網友查閱!

首先說一下,我這里用的到帶模板的欄目導航標簽(showclasstemp),用其它標簽需要修改其它函數(shù),但我相信萬變不離其中,原理都是一樣的,為了讓大家學會這個東東,我就從簡單的開始說起

一、首先點模板管理,找到左邊從最下面往上數(shù)第三個,其中有一個標簽管理,點擊后在右邊找到showclasstemp這個標簽,點擊修改后可以看到該標簽所使用的函數(shù)名稱(sys_showclassbytemp),我們需要修改的就是這個函數(shù)

二、我在我自己做的站中增加了兩個自定義字段(pic,entitle),一個是欄目前面顯示的小圖標,一個是英文名

三、打開e/class/t_functions.php 這個文件,帽似帝國的函數(shù)處理都 在這個文件中進行

四、現(xiàn)在仔細看看第一步中找到的那個函數(shù)名,記下來,在t_functions.php這個文件中找到他,7.0測試版大概是在1574行,6.6的大概在1889行,在這個函數(shù)中找到下面的代碼:

$sql=$empire->query(select classid,classname,islast,sonclass,tbname,intro,classimg from {$dbtbpre}enewsclass where bclassid='$classid' and showclass=0 order by myorder,classid.$limit);

替換成以下代碼:

$sql=$empire->query(select c.classid,c.classname,c.islast,c.islast,c.tbname,c.intro,c.classid,c.classimg,c.infos,d.classid,d.pic,d.entitle from {$dbtbpre}enewsclass c left join {$dbtbpre}enewsclassadd d on c.classid=d.classid where c.bclassid='$classid' and c.showclass=0 order by myorder,c.classid

.$limit);

這里說下這是什么意思,高手請飄過,呵呵

帝國的這個欄目字段跟自定義欄目字段不在同一個表中,所以他原來的單一查詢就查不到自定字段的值,這里我們只需要把這個查詢改成復合查詢,把自定義字段的表帶進來一起查詢就可以了

呵呵

剛才的查詢我們己經可以把數(shù)據(jù)查到了,現(xiàn)在需要做的就是替換到模板里面去就ook 了,繼續(xù)!

五、找到以下代碼,把我們添加的字段變量加進去

//替換變量

$bclassname=$class_r[$classid][classname];

$br[classid]=$classid;

$bclassurl=sys_returnbqclassname($br,9);

$listtemp=str_replace([!--bclassname--],$bclassname,$listtemp);

$listtemp=str_replace([!--bclassurl--],$bclassurl,$listtemp);

$listtemp=str_replace([!--bclassid--],$classid,$listtemp);

修改為:

//替換變量

$bclassname=$class_r[$classid][classname];

$br[classid]=$classid;

$bclassurl=sys_returnbqclassname($br,9);

$listtemp=str_replace([!--pic--],$pic,$listtemp);

$listtemp=str_replace([!--entitle--],$entitle,$listtemp);

$listtemp=str_replace([!--bclassname--],$bclassname,$listtemp);

$listtemp=str_replace([!--bclassurl--],$bclassurl,$listtemp);

$listtemp=str_replace([!--bclassid--],$classid,$listtemp);

六,最后一步:

把變量替換到模板中,找到以下代碼:

//欄目名稱

$listtemp=str_replace([!--classname--],$r[classname],$listtemp);

//欄目id

$listtemp=str_replace([!--classid--],$r[classid],$listtemp);

//欄目圖片

if(empty($r[classimg]))

{

$r[classimg]=$public_r[newsurl].e/data/images/notimg.gif;

}

$listtemp=str_replace([!--classimg--],$r[classimg],$listtemp);

//欄目簡介

$listtemp=str_replace([!--intro--],nl2br($r[intro]),$listtemp);

//記錄數(shù)

$listtemp=str_replace([!--num--],$num,$listtemp);

//序號

$listtemp=str_replace([!--no--],$no,$listtemp);

return $listtemp;

在這上面增加幾行,修改后的代碼如下:

//欄目小圖標

$listtemp=str_replace([!--pic--],$r[pic],$listtemp);

//欄目英文名

$listtemp=str_replace([!--entitle--],$r[entitle],$listtemp);

//欄目名稱

$listtemp=str_replace([!--classname--],$r[classname],$listtemp);

//欄目id

$listtemp=str_replace([!--classid--],$r[classid],$listtemp);

//欄目圖片

if(empty($r[classimg]))

{

$r[classimg]=$public_r[newsurl].e/data/images/notimg.gif;

}

$listtemp=str_replace([!--classimg--],$r[classimg],$listtemp);

//欄目簡介

$listtemp=str_replace([!--intro--],nl2br($r[intro]),$listtemp);

//記錄數(shù)

$listtemp=str_replace([!--num--],$num,$listtemp);

//序號

$listtemp=str_replace([!--no--],$no,$listtemp);

return $listtemp;

七、還有最后一步,最要緊,至關重要的,絕對不能丟掉的,千萬要注意的就是

呵呵,在showclasstemp調用的標簽模板中記得加上調用代碼,怎么調用呢,就特別特別特別特別滴輕松了,看看我是怎么調用的,

1

<li><span><img src=[!--pic--] width=19 height=21 /></span><a href=[!--classurl--]>[!--classname--]</a><b>[!--entitle--]</b></li>

更多信息請查看IT技術專欄

更多信息請查看CMS教程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢?yōu)闇剩?/div>
相關閱讀CMS教程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網