|
一、模板 調(diào)用
比如在某個模板中,想調(diào)用另一個模板中的內(nèi)容,可以用下面的語句:
{template xxx}
假設(shè),建立了一個新模板名字叫 "abc.htm" ,在后臺 模板編輯時只會顯示為 "acb",需要在 index 中調(diào)用它,那么就在index 中適當(dāng)位置加入 {template abc}
那么就會自動代用它。
相關(guān)實(shí)例: index 模板中,最頂有 {template header},最底有 {template footer}
相關(guān)疑問:
那么在這個 abc 模板中需要有 <html><body></body></html> 嗎?
不需要的!想要顯示什么,就寫什么,因?yàn)樗皇钦麄€網(wǎng)頁的一部分! <html><body></body></html> 都已經(jīng)在header和footer模板中了。
二、固定參數(shù)
$seohead --- 后臺設(shè)置 的頭部信息
$charset --- config.inc.php中設(shè)置語言字符集,必不可少,不能刪除!
$extrahead --- 控制論壇 自動跳轉(zhuǎn)參數(shù),必不可少,不能刪除!
{eval updatesession();} --- 更新論壇 session 表的參數(shù),必不可少,不能刪除!
{eval output();} --- 結(jié)束論壇輸出,必不可少,不能刪除!
以上的參數(shù)以Discuz ! 4.0為準(zhǔn),這些參數(shù)會因應(yīng)不同版本而有所不同!
還有一些 $xxx 的也是一些參數(shù)如非插件 作者或程序 開發(fā)請勿亂修改!
三、數(shù)據(jù) 判斷
1、在模板中會經(jīng)常見到<!--{if xx}-->xxx<!--{else}-->xx<!--{/if}-->的語句。
這些并非普通HTML 中的注釋,而是Discuz!特有的模板判斷語法,就好比php 或者其他 語法中的 if,else,then等等。
通過這些語法,能夠達(dá)到不同的模板效果 。
相關(guān)實(shí)例:
header 模板中
代碼 :
<!--{if $discuz_uid}--> --- 如果獲取了 $discuz_uid ,即顯示下面資料(判斷1)
<span class="bold">$discuz_userss: </span> <a href="$link_logout">{langlogo ut}</a>
<!--{if $maxpmnum}--> --- 如果有 $maxpmnum,即顯示下面資料,否則不顯示(判斷2)
| <a href="pm.php" target="_blank">{lang pm}</a>
<!--{/if}--> --- 結(jié)束了這個判斷(判斷2)
| <a href="memcp.php">{lang memcp}</a>
<!--{if in_array($adminid, array(1,2,3))}--> --- 如果$adminid在1,2,3這三個范圍內(nèi),即顯示下面資料,否則不顯示(判斷3)
| <a href="admincp.php" target="_blank">{lang admincp}</a>
<!--{/if}--> --- 結(jié)束了這個判斷(判斷3)
<!--{else}--> --- 如果獲取不了 $discuz_uid ,則顯示下面資料
<span class="bold">{lang guest}: </span><a href="$link_register">{lang register}</a>
| <a href="$link_login">{lang login}</a>
<!--{/if}--> --- 結(jié)束這個判斷(判斷1)
2、在模板中會經(jīng)常見到<!--{loop xx}-->xxx<!--{/loop}-->的語句。
這個為循環(huán)語句,直到數(shù)據(jù)輸出完畢,就會自動結(jié)束。
通過這些語法,能夠達(dá)到把同一系列的資料進(jìn)行循環(huán)顯示效果。
相關(guān)實(shí)例:
header 模板中
代碼:
<!--{loop $plugins['links'] $plugin}--> --- 循環(huán)1開始,判斷插件
<!--{loop $plugin $module}--> --- 循環(huán)2開始,判斷插件模組
<!--{if !$module['adminid'] || ($module['adminid'] && $adminid > 0 && $module['adminid'] >= $adminid)}-->| $module[url] <!--{/if}-->
<!--{/loop}--> --- 結(jié)束循環(huán)2
<!--{/loop}--> --- 結(jié)束循環(huán)1
四、語言調(diào)用
在模板中,經(jīng)常會看到{lang xxx}這樣的語句。它就是調(diào)用語言包中的詞語用的。
而在模板中會調(diào)用的大部分都是 templates.lang.php 的。
下面看看語言包的結(jié)構(gòu):
代碼:
<? -- 宣布php語言開始
$language = array
( --- 以上宣布語言包定義開始
'title' => '標(biāo)題',
調(diào)用字符 顯示文字
'never' => '從未',
調(diào)用字符 顯示文字
....
); --- 宣告語言包定義結(jié)束
?> -- 宣布php語言結(jié)束
相關(guān)實(shí)例:
假設(shè),我們增加一個語言調(diào)用,在
'title' => '標(biāo)題',
上一行添加
'abc' => '這是測試語言調(diào)用',
最后的 , 是比不可少的,還有調(diào)用字符和顯示文字,都必須使用 '' 引起。
增加以后,到模板中,就能調(diào)用它,模板中寫{lang abc}
那么顯示出來就直接顯示: 這是測試語言調(diào)用
特別注意: 增加語言或修改語言包后,必須更新緩存哦!
五、風(fēng)格 參數(shù)調(diào)用
在模板中常見到{XXXXX}的語句。{}中的必須是大寫。
這些都是調(diào)用風(fēng)格配色方案中的參數(shù)。您可以可以自己添加,方法 如下:
1, 進(jìn)入 界面風(fēng)格 -> 界面風(fēng)格 -> 您要添加參數(shù)的風(fēng)格 點(diǎn) [詳情]
2, 進(jìn)入后最下面,有兩欄可以填寫,一個是變量,一個是替換內(nèi)容
相關(guān)實(shí)例:
變量寫 FOOTERCOLOR (注意必須使用大寫)
替換內(nèi)容寫 #003399
提交后,修改模板,模板中寫<font color="{FOOTERCOLOR}">測試風(fēng)格自定義變量</font>
那么出來的效果,這個 測試風(fēng)格自定義變量 就會按照填寫的替換內(nèi)容的顏色來顯示了。
經(jīng)過上面說了那么多,對于修改模板的時候需要注意或者可以應(yīng)用到的應(yīng)該讓您了解不少了!
希望對您有幫助,Enjoy It!
php技術(shù):Discuz 模板語句分析及知識技巧,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。