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}  

  

posted on 2014-04-10 18:04  FreeSpider  阅读(731)  评论(0编辑  收藏  举报