<!-{if expr1}-> statement1 <!-{elseif expr2}-> statement2 <!-{else}-> statement3 <!-{/if}->
這是一個典型的條件模板,當條件 expr1 爲真時,顯示模板 statement1 內容,不然當 expr2 爲真時,顯示模板 statement2 內容,不然顯示模板 statement3 的內容。如同其餘語言中的條件控制同樣,其中 <!-{elseif expr}-> 和 <!-{else} -> 是非必須的。php
<!-{loop $array $value}-> statement <!-{/loop}->
至關於 PHP 的數組循環語句:數據庫
foreach($array as $value) { statement }
<!-{loop $array $key $value}-> statement <!-{/loop}->
至關於 PHP 的數組循環語句:數組
foreach($array as $key => $value) { statement }
{CONSTANT}
能夠引用界面替換變量,其中必須爲大寫字母,該符號實際的做用是引用 PHP 常量 CONSTANT,所以也能夠經過它來引用其餘的常量內容。ide
{lang variable}
能夠在模板中引用語言變量 variable 的內容,語言變量經由 templates.php.lang 中數組 $language 定義。如 {lang post_edit} 的內容在編譯模板的時候被替換爲 $language['post_edit'] 的內容,簡體中文版的意思是「編輯帖子」。oop
{template name}
模板嵌入符,爲了不模板的冗長,能夠使用本符號來將 name 模板的內容嵌入本模板中(實際上爲引用)。post
{LF}
換行符,由於 Discuz! 模板引擎會忽略掉多餘的換行(\n),這個符號用來成生須要的 \n。ui
{eval statement}
運行 PHP 語句體 statement。推薦只在特別必須的時候才使用該結構,由於它會破壞模板的結構和可讀性。如 {eval echo 'template';} 實現的功能爲echo 'template';idea
<!-{eval for ($i=1; $i<=5; $i++){ }-> <!-{eval echo "Hello World!";}-> <!-{eval}}->
等同於spa
for ($i=1; $i<=5; $i++){ echo "Hello World!" }
在dx3中,增長了一種用法,能夠寫整段的php代碼模板引擎
<!-{eval}-> <!- function test(test) { return 'test'; } -> <!-{/eval}->
{date(timestamp,'Y-m-d')} 格式化時間
{avatar(uid,small)} 插入頭像
<!-{subtemplate 路徑/模板名}-> 例如 <!-{subtemplate common/header_common}->
<!-{hook/viewthread_profileside $postcount}->
<!-{block}-> <!-{blockdata}->
<!-{ad/subnavbanner/a_mu}->
{STATICURL} static/ {IMGDIR} static/image/common/ {TPLDIR} 模板路徑
{CURMODULE} {VERHASH} {FORMHASH} {NOTICETEXT} {TIMESTAMP}
{CHARSET} {STYLEID} {BORDERCOLOR} {SMFONTSIZE} {SMFONT} {UC_API}