教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

DEDECMS标签手册

来源:网络收集 时间:2026-02-28
导读: 模板语法 织梦模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记。 织梦模

模板语法

织梦模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好处是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记。 织梦模板引擎的代码样式

{dede:标记名称 属性='值'/}

{dede:标记名称 属性='值'}{/dede:标记名称}

{dede:标记名称 属性='值'}自定义样式模板(InnerText){/dede:标记名称} 注:如果使用带底层模板的标记,必须严格用{dede:标记名称 属性='值'}{/dede:标记名称} 这种格式,否则会报错。 内置系统标记

① global 标记,表示获取一个外部变量,除了数据库密码之外,能调用系统的任何配置参数,形式为:

{dede:global name='变量名称'}{/dede:global} 或

{dede:global name='变量名称'/} 其中变量名称不能加$符号,如变量$cfg_cmspath,应该写成{dede:global name='cfg_cmspath'/}。 ② foreach 用来输出一个数组,形式为:

{dede:foreach array='数组名称'}[field:key/] [field:value/]{/dede:foreach} ③ include 引入一个文件,形式为:

{dede:include file='文件名称' ismake='是否为dede板块模板(yes/no)'/}

对文件的搜索路径为顺序为:绝对路径、include文件夹,CMS安装目录,CMS主模板目录

自定义函数使用

{dede:标记名称 属性='值' function='youfunction(\参数一\参数二\其中 @me 用于表示当前标记的值,其它参数由你的函数决定是否存在,例如: {dede:field name='pubdate' function='strftime(\织梦标记允许有限的编程扩展 格式为:

{dede:tagname runphp='yes'} $aaa = @me; @me = \{/dede:tagname}

@me 表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给@me。

此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerText。

标记语法

标记通用特性

① 短标记

{dede:tagname.name/} 等同于

{dede:tagname name='' /} ② 块标记 {dede:tagname} 循环代码

{/dede:tagname}

标记的具体语法及对应的PHP代码 ① 配置变量

{dede:config name='' value=''/}

配置变量可以在载入模板后通过 $tpl->GetConfig($name) 获得,仅作为配置,不在模板中显示。

② 短标记

{dede:global.name/} 外部变量 等同于

{dede:var.name/} var数组 等同于 {dede:field.name/} field数组 等同于 {dede:cfg.name/} 系统配置变量 等同于

考虑到大多数情况下都会在函数或类中调用模板,因此 $_vars、$fields 数组必须声明为 global 数组,否则模板引擎无法获得它的值从而导致产生错误。 ③ 自由调用块标记

{tag:blockname bind='GetArcList' bindtype='class'} 循环代码

{/tag:blockname} 必要属性:

bind 数据源来源函数

bindtype 函数类型,默认是 class 可选为 sub

rstype 返回结果类型,默认是 array ,可选项为 string

自定义函数格式必须为 function(array $atts,object $refObj, array $fields); 在没有指定 bind 绑定的函数的情况下,默认指向 MakePublicTag($atts,$tpl->refObj,$fields) 统一管理。

④ 固定块标记

1.datalist

从绑定类成员函数GetArcList中获取数组并输出 {dede:datalist} 循环代码

{/dede:datalist}

遍历一个二给维数组,数据源是固定的,只适用用类调用。 等同于

{tag:blockname bind='GetArcList' bindtype='class' rstype='arrayu'} 循环代码 {/tag:blockname} 2.label

从绑定函数中获取字符串值并输出

等同于 {tag:blockname bind='func' bindtype='sub' rstype='string'/} 3.pagelist

从绑定类成员函数GetPageList中获取字符串值并输出

等同于 {tag:blockname bind='GetPageList' bindtype='class' rstype='string'/} 4.include

{dede:include file=''/}

{dede:include filename=''/} 5.php {dede:php php 代码 /} 或 {dede:php} php代码 {/dede:php}

6.If

仅支持 if ,else ,else 直接用{else}表示,但不支持{else if}这样的语法 ,一般建议模板中不要使用太复杂的条件语法,如果确实有需要,可以直接使用 php 语法。 {dede:if 条件} a-block {else} b-block {/dede:if}

条件中允许使用 var.name 、global.name 、field.name、cfg.name 表示相应的变量。 如:

{dede:if field.id>10 } {/dede:if}

7.遍历一个 array 数组

{dede:array.name}

{dede:key/} = {dede:value/} {/dede:array}

各种语法的具体编译后的代码,可查看dedetemplate.class.php的function CompilerOneTag(&$cTag)。

标签的分类

每个标签都会有他的作用域,上文中我们可以了解系统文档页面可以分为:封面、列表、内容几个部分,每个页面的模板则会涉及到不同的标签,所以标签也有了他的作用域,我们在模板制作过程中主要根据模板的作用域来对模板进行如下划分: 全局标签

可以在前台文档任意页面使用的模板标记,例如:arclist、channel、sql、loop等。 列表标签

仅在模板*_list.htm中可以使用的标签,例如:list、pagelist。 内容标签

仅在模板*_.article.htm中可以使用的模板标记,例如:likearticle、pagebreak等。

模块标签

仅在特定的模块、插件中使用的模板标记

全局标签

arclist 文档列表

(DedeCMS > 3.0,DedeCMS 4,DedeCMS 5) 名称:arclist

功能:用于获取系统主从表模型(如:文章、软件、图集、商品等)的一列文档,也称自由列表块标记,其中imglist、imginfolist、specart、coolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。 语法:

{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}

[field:title/] {/dede:arclist}

文件:

\\include\\taglib\\arclist.lib.php

function lib_arclist(&$ctag,&$refObj) 默认底层模板:

imglist:part_imglist.htm

imginfolist:part_imginfolist.htm arclist:part_arclist.htm 参数:

col='' 分多少列显示(默认为单列),5.3版中本属性可以通过多种方式进行多行显示 如果col='1'要多列显示的可用div+css实现 以下为通过div+css实现多列的范例:

{dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='' col='2'}

?[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])
{/dede:arclist}

当col>1将使用原来的table多列方式显示 row='10' 返回文档列表总数

t …… 此处隐藏:2851字,全部文档内容请下载后查看。喜欢就下载吧 ……

DEDECMS标签手册.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/453135.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)