Discuz 模板標籤說明

Discuz 模板標籤說明php

Discuz! 的模板採用近似 PHP 表達式的語法,基本都是可識別的HTML,但涉及到變量和動態內容時,基本形式下:數組

<!-{ 代碼內容 }->ide

邏輯元素包圍符,該符號用於包含條件和循環元素oop


== 條件判斷 ==post

<!-{if expr1}->
statement1
<!-{elseif expr2}->
statement2
<!-{else}->
statement3
<!-{/if}->模板引擎

這是一個典型的條件模板,當條件 expr1 爲真時,顯示模板 statement1 內容,不然當 expr2 爲真時,顯示模板 statement2 內容,不然顯示模板 statement3 的內容。如同其餘語言中的條件控制同樣,其中 <!-{elseif expr}-> 和 <!-{else} -> 是非必須的。it

 

== 不帶下標變量的數組循環 ==編譯

<!-{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}<br />
能夠引用界面替換變量,其中必須爲大寫字母,該符號實際的做用是引用 PHP 常量 CONSTANT,所以也能夠經過它來引用其餘的常量內容。

{lang variable}<br />
能夠在模板中引用語言變量 variable 的內容,語言變量經由 templates.php.lang 中數組 $language 定義。如 {lang post_edit} 的內容在編譯模板的時候被替換爲 $language['post_edit'] 的內容,簡體中文版的意思是「編輯帖子」。

{template name}<br />
模板嵌入符,爲了不模板的冗長,能夠使用本符號來將 name 模板的內容嵌入本模板中(實際上爲引用)。

{LF}<br />
換行符,由於 Discuz! 模板引擎會忽略掉多餘的換行(\n),這個符號用來成生須要的 \n。

{eval statement}<br />
運行 PHP 語句體 statement。推薦只在特別必須的時候才使用該結構,由於它會破壞模板的結構和可讀性。如 {eval echo 'template';} 實現的功能爲echo 'template';

<!-{eval for ($i=1; $i<=5; $i++){ }->
<!-{eval echo "Hello World!";}->
<!-{eval}}->

等同於

for ($i=1; $i<=5; $i++){
echo "Hello World!"
}


== 插入子模板 ==

<!-{subtemplate 路徑/模板名}->
例如
<!-{subtemplate common/header_common}->


== 插入鉤子 ==
<!-{hook/viewthread_profileside $postcount}->

== 插入廣告 ==

<!-{ad/subnavbanner/a_mu}->

== 常量 ==
{STATICURL} static/
{IMGDIR} static/image/common/
{TPLDIR} 模板路徑

{CURMODULE}
{VERHASH}
{FORMHASH}
{NOTICETEXT}
{TIMESTAMP}

{CHARSET} {STYLEID} {BORDERCOLOR} {SMFONTSIZE} {SMFONT} {UC_API}

相關文章
相關標籤/搜索