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