一、模板 調用
比如在某個模板中,想調用另一個模板中的內容,可以用下面的語句:
{template xxx}
假設,建立了一個新模板名字叫 "abc.htm" ,在後台 模板編輯時只會顯示為 "acb",需要在 index 中調用它,那麼就在index 中適當位置加入 {template abc}
那麼就會自動代用它。
相關執行個體: index 模板中,最頂有 {template header},最底有 {template footer}
相關疑問:
那麼在這個 abc 模板中需要有 <html><body></body></html> 嗎?
不需要的!想要顯示什麼,就寫什麼,因為它只是整個網頁的一部分! <html><body></body></html> 都已經在header和footer模板中了。
二、固定參數
$seohead --- 後台設定 的頭部資訊
$charset --- config.inc.php中設定語言字元集,必不可少,不能刪除!
$extrahead --- 控制論壇 自動跳轉參數,必不可少,不能刪除!
{eval updatesession();} --- 更新論壇 session 表的參數,必不可少,不能刪除!
{eval output();} --- 結束論壇輸出,必不可少,不能刪除!
以上的參數以Discuz ! 4.0為準,這些參數會因應不同版本而有所不同!
還有一些 $xxx 的也是一些參數如非外掛程式 作者或程式 開發請勿亂修改!
三、資料 判斷
1、在模板中會經常見到<!--{if xx}-->xxx<!--{else}-->xx<!--{/if}-->的語句。
這些並非普通HTML 中的注釋,而是Discuz!特有的模板判斷文法,就好比php 或者其他 文法中的 if,else,then等等。
通過這些文法,能夠達到不同的模板效果 。
相關執行個體:
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}--> --- 結束了這個判斷(判斷2)
| <a href="memcp.php">{lang memcp}</a>
<!--{if in_array($adminid, array(1,2,3))}--> --- 如果$adminid在1,2,3這三個範圍內,即顯示下面資料,否則不顯示(判斷3)
| <a href="admincp.php" target="_blank">{lang admincp}</a>
<!--{/if}--> --- 結束了這個判斷(判斷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}--> --- 結束這個判斷(判斷1)
2、在模板中會經常見到<!--{loop xx}-->xxx<!--{/loop}-->的語句。
這個為迴圈語句,直到資料輸出完畢,就會自動結束。
通過這些文法,能夠達到把同一系列的資料進行迴圈顯示效果。
相關執行個體:
header 模板中
複製內容到剪貼簿
代碼:
<!--{loop $plugins['links'] $plugin}--> --- 迴圈1開始,判斷外掛程式
<!--{loop $plugin $module}--> --- 迴圈2開始,判斷外掛程式模組
<!--{if !$module['adminid'] || ($module['adminid'] && $adminid > 0 && $module['adminid'] >= $adminid)}-->| $module[url] <!--{/if}-->
<!--{/loop}--> --- 結束迴圈2
<!--{/loop}--> --- 結束迴圈1
四、語言調用
在模板中,經常會看到{lang xxx}這樣的語句。它就是調用語言套件中的詞語用的。
而在模板中會調用的大部分都是 templates.lang.php 的。
下面看看語言套件的結構:
複製內容到剪貼簿
代碼:
<? -- 宣布php語言開始
$language = array
( --- 以上宣布語言套件定義開始
'title' => '標題',
調用字元 顯示文字
'never' => '從未',
調用字元 顯示文字
....
); --- 宣告語言套件定義結束
?> -- 宣布php語言結束
相關執行個體:
假設,我們增加一個語言調用,在
'title' => '標題',
上一行添加
'abc' => '這是測試語言調用',
最後的 , 是比不可少的,還有調用字元和顯示文字,都必須使用 '' 引起。
增加以後,到模板中,就能調用它,模板中寫{lang abc}
那麼顯示出來就直接顯示: 這是測試語言調用
特別注意: 增加語言或修改語言套件後,必須更新緩衝哦!
五、風格 參數調用
在模板中常見到{XXXXX}的語句。{}中的必須是大寫。
這些都是調用風格色彩配置中的參數。您可以可以自己添加,方法 如下:
1, 進入 介面風格 -> 介面風格 -> 您要添加參數的風格 點 [詳情]
2, 進入後最下面,有兩欄可以填寫,一個是變數,一個是替換內容
相關執行個體:
變數寫 FOOTERCOLOR (注意必須使用大寫)
替換內容寫 #003399
提交後,修改模板,模板中寫<font color="{FOOTERCOLOR}">測試風格自訂變數</font>
那麼出來的效果,這個 測試風格自訂變數 就會按照填寫的替換內容的顏色來顯示了。
經過上面說了那麼多,對於修改模板的時候需要注意或者可以應用到的應該讓您瞭解不少了!
希望對您有協助,Enjoy It!