discuz 標籤詳解

Discuz 模板標籤說明  
  
Discuz! 的模板採用近似 PHP 表達式的語法,基本都是可識別的HTML,但涉及到變量和動態內容時,基本形式下:  
  
 <!-{ 代碼內容 }->  
  
邏輯元素包圍符,該符號用於包含條件和循環元素  
  
  
== 條件判斷 ==  
  
 <!-{if expr1}->  
    statement1  
 <!-{elseif expr2}->  
    statement2  
 <!-{else}->  
    statement3  
 <!-{/if}->  
  
這是一個典型的條件模板,當條件 expr1 爲真時,顯示模板 statement1 內容,不然當 expr2 爲真時,顯示模板 statement2 內容,不然顯示模板 statement3 的內容。如同其餘語言中的條件控制同樣,其中 <!-{elseif expr}-> 和 <!-{else} -> 是非必須的。  
  
  
  
== 不帶下標變量的數組循環 ==  
  
 <!-{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}  
相關文章
相關標籤/搜索