discuz 标签详解

摘要:
Discuz模板标签描述Discuz-{/if}-˃这是一个典型的条件模板。当条件expr1为真时,显示模板语句1的内容;否则,当expr2为真时,显示模板语句2的内容;否则,将显示模板语句3的内容-{/roop}-˃等效于PHP数组循环语句:foreach{statement}==带有下标变量的数组循环==˂!{langvariable}您可以参考模板中语言变量的内容。语言变量通过模板传递。php数组$language在lang中的定义。例如,在编译模板时,{langpost_edit}的内容被$language['post_edit']的内容替换。简体中文的意思是“编辑帖子”。{LF}换行符,因为Discuz!例如,{evalecho“template”;}实现的函数是echo“template”;例如˂!
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! 模板引擎会忽略掉多余的换行(
),这个符号用来成生需要的 
。  
  
{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}  

  

免责声明:文章转载自《discuz 标签详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mysql通过数据文件恢复数据方法vim查找/替换字符串下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

富数据控件 GridView(模版)

       如果希望在同一个单元格中显示多个值,或者希望在单元格中添加 HTML 标签和服务器控件而获得自定义内容的不受限的能力,就需要使用 TemplateField。        TemplateField 允许你为每一列定义一个完全定制的模版。你可以加入控件标签、HTML 元素、数据绑定表达式,可以完全按照你的方式布置一切! <asp:S...

php过滤器

PHP过滤器 PHP过滤器用于验证和过滤来自非安全数据源,比如用户的输入 什么是外部数据 来自表单的输入数据CookiesWeb services data服务器变量数据库查询结果 函数和过滤器 如需过滤变量,请使用下面的过滤器函数之一: filter_var() - 通过一个指定的过滤器来过滤单一的变量filter_var_array() - 通过相同的...

js 和后台交互

.asp.net呼叫js                        Response.Write("<script language=javascript>");                     Response.Write("alert('登峰欢迎您 ');" );                     Response.Wri...

CDO学习2 CDO 入门教程Tutorial

#20210117#注:如果需要用cdo对数据进行截取,可参考buguse的几篇博文: 如何利用CDO从数据集中提取数据 CDO条件性选择数据 - 云+社区 - 腾讯云 CDO转换数据集格式 - 云+社区 - 腾讯云 --------------------------------------------------------------------...

白月黑羽Python在线教程

推荐白月黑羽Python在线教程 白月黑羽 站在初学者的角度为大家安排了Python学习教程,帮助大家迅速掌握程序开发技能。 http://www.python3.vip/doc/tutorial/python/home/ 变量 和 注释 本文目录 变量的概念 变量的命名规则 变量值的变化 我们已经知道,Python语言中,所有的数据类型都是对象。 整...

C# aspx 数据绑定集中

Eval( " ")和Bind( " ") 这两种一个单向绑定,一个双向绑定,bind是双向绑定,但需数据源支持 ASP.NET   2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem,   fieldname)简化为Eval(fieldname)。Eval方法与DataBind...