zoukankan      html  css  js  c++  java
  • Discuz!X/模板标签说明

    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}
    可以引用界面替换变量,其中必须为大写字母,该符号实际的作用是引用 PHP 常量 CONSTANT,因此也可以通过它来引用其他的常量内容。

    {lang variable}
    可以在模板中引用语言变量 variable 的内容,语言变量经由 templates.php.lang 中数组 $language 定义。如 {lang post_edit} 的内容在编译模板的时候被替换为 $language['post_edit'] 的内容,简体中文版的意思是“编辑帖子”。

    {template name}
    模板嵌入符,为了避免模板的冗长,可以使用本符号来将 name 模板的内容嵌入本模板中(实际上为引用)。

    {LF}
    换行符,因为 Discuz! 模板引擎会忽略掉多余的换行( ),这个符号用来成生需要的 。

    {eval statement}
    运行 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!"
    }
    

    在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}->
    
    • ad 广告 subnavbanner 广告类型 广告类型列表 a_mu 样式 还可以接更多的参数
    • 自定义广告类型以 custom_ + customid 命名

    常量

    {STATICURL} static/
    {IMGDIR} static/image/common/
    {TPLDIR} 模板路径
    
    {CURMODULE}
    {VERHASH}
    {FORMHASH}
    {NOTICETEXT}
    {TIMESTAMP}
    
    {CHARSET}
    {STYLEID}
    {BORDERCOLOR}
    {SMFONTSIZE}
    {SMFONT}
    {UC_API}
  • 相关阅读:
    mui 时间选择器和上传图片
    css实现聊天气泡效果
    css总结 -使用display:inline-block,出现元素高度错位
    js DIV延时几秒后消失或显示代码
    js监听textarea 内容的变化,并计算内容的长度c
    生成git的SSH公钥
    IDEA中把普通的Java项目转换成gradle项目
    Idea中自动生成get,set,toString等方法
    IDEA中阿里P3C插件的安装与使用
    IDEA中SonarLint的安装与使用
  • 原文地址:https://www.cnblogs.com/hechunhua/p/3895291.html
Copyright © 2011-2022 走看看