dedecms模板标签语法简介

dedecms二次开发目录点这个:dedecms二次开发教程目录

织梦的模板标签类似于XML格式,所有的模板都含有定界符,默认情况下是{dede:*}和{/dede:*},“*”代表模板标记名称。

一般情况下{dede:*}和{/dede:*}是成对出现的,例如:

例1-1:

{dede:arclist flag=‘h‘ limit=‘0,1‘}<br />
<h2><a  href="[field:arcurl/]">[field:title/]</a></h2><br />
<p>[field:description/]...<a  href="[field:arcurl/]">[查看全文]</a></p><br />
{/dede:arclist}  

查看源码复制到粘贴板打印?

上面的{dede:arclist}和{/dede:arclist}成对出现在模板文件中,并且在两个标签当中包含了底层模板(innertext)。

底层模板(Innertext),底层模板实际上就是对于有多条记录的模板输出,用户手工去指定单个记录的样式。

标签还有一类出现形式是{dede:*/},通常以这种形式出现都是输出变量、或者不含底层模板的内容。

例如:1-2

{dede:global.cfg_webname/}
{dede:arclist flag=‘h‘ limit=‘0,1‘/}

如果用户没有指定单个记录的样式,系统部分标签都含有默认的底层模板,具体可以查看{cmapath}/templets/system/文件夹下面的文件,这里面都是系统的底层模板文件。

注释

织梦标签的模板注释非常灵活,可以通过标签后面的commet属性进行赋值。

例1-3:

{dede:arclist flag=‘h‘ limit=‘0,1‘ commet=‘调用头条的第一篇内容‘}<br />
 <h2><a href="[field:arcurl  commet="这是文章链接标签"/]">[field:titlecommet="这是文章标题标签"/]</a></h2><br />
 <p>[field:description commet="这是摘要标签"/]...<a  href="[field:arcurl  commet="这是文章链接标签"/]">[查看全文]</a></p><br />
 {/dede:arclist}  

查看源码复制到粘贴板打印?

在模板引擎将上述标签解析为html的时候,commet的内容是被忽略掉不去解析的,用户在阅读模板标记的时候可以更好的理解标签的意义。

函数

每一个织梦的标签都可以使用自定义函数对其进行扩展,自定义函数内容主要用于对当前标签输出内容进行处理。

例1-4:

{dede:标记名称function=‘youfunction("参数一","参数二","@me")‘/}

其中 @me 用于表示当前标记的值,其它参数由你的函数决定是否存在,例如:

{dede:field.pubdate function=‘strftime("%Y-%m-%d %H:%M:%S","@me")‘/}

属性

模板标签的属性,决定了模板标记输出的形式,例如arclist标签主要功能是列出文档列表,但列出什么内容、按照什么方式进行排序等取决于模板标签的属性。

在织梦的模板标签说明中含有各个模板的标签属性可以详细查阅。

可以查看例1-1中的flag=‘h‘ limit=‘0,1‘,这里flag和limit是标签的相关属性,通过手册可以查阅属性的介绍。

如果模板标签如果没有列出属性,系统有默认属性值,用户可以参考模板标签说明查看默认属性。

编程

织梦模板很方便的一个地方就是支持简单的模板编程。

格式为:

{dede:tagname runphp=‘yes‘}<br />
 $aaa = @me;<br />
 @me = "123456";<br />
 {/dede:tagname}   

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

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

时间: 2024-12-31 19:56:46

dedecms模板标签语法简介的相关文章

dedecms 模板标签说明

1)[Arclist 标记]获取指定的文档列表     适用范围:封面模板.列表模板.文档模板 (没有内容) {dede:arclist typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword=''}   底层模板 [field:varname/]   {/dede:arclist}    typeid='' 表示栏目ID,在列表模板和档案模板中一

Django 内置模板标签和过滤器

一.内置模板标签 语法:{%  %} autoescape : 是否转义,on或off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束 {% autoescape on %} {{ body }} {% endautoescape %} block : 定义 可以被子模块覆盖的块,具体的参阅Django模板与继承 comment : 忽略comment之间的所有内容 查看网页源码也不会存在 csrf_token : 此标记用于csrf保护,具体的参阅Django跨站请

python的Web框架,模板标签及模板的继承

模板标签 在传递数据的时候,会有大量的数据展示在浏览器上,而数据会是动态变化的,在html的编写中,数据也是需要动态的,而不能是写死的,如果动态展示呢. 给定的例子数据 views传递数据给html 1 from django.shortcuts import render 2 3 def index(request): 4 5 students = [ 6 {'id':12, 'name':'张三', 'age':19, 'sex':'男'} 7 {'id':22, 'name':'李思',

(转)浅谈dedecms模板引擎工作原理及自定义标签

理解织梦模板引擎有什么意义?一方面可以更好地自定义标签.更多在于了解织梦系统,理解模板引擎是理解织梦工作原理的第一步.理解织梦会使我们写php代码时更顺手,同时能学习一些php代码的组织方式. 这似乎不是那么简单,如果你只想学习自定义标签,可以看一下“是否需要自定义标签”和““扩展标签””就够了. 一解析式引擎 如果你还没用过dedecms的标签,先用一下,也可以看一下“dedecms网页模板编写”.熟悉一下memberlist这个标签,下面会以这个标签为例. 织梦提供的模板分析引擎有解析式和编

(转)DEDECMS模板原理、模板标签学习 - .Little Hann

本文,小瀚想和大家一起来学习一下DEDECMS中目前所使用的模板技术的原理: 什么是编译式模板.解释式模板,它们的区别是什么? 模板标签有哪些种类,它们的区别是什么,都应用在哪些场景? 学习模板的机制原理对我们修复目前CMS中常出现的模板类代码执行的漏洞能起到怎样的帮助? 带着这些问题,我们进入今天的代码研究,just hacking for fun!! 文章主要分为以下几个部分 1. 模板基本知识介绍 2. 怎么使用模板机制.模板标签的使用方法 3. DEDE模板原理学习 1) 编译式模板 2

(转)ThinkPHP自定义模板标签详解

转之--http://www.thinkphp.cn/topic/6258.html 模板标签让网站前台开发更加快速和简单,这让本该由程序猿才能完成的工作,现在只要稍懂得HTM的人也能轻易做到,这也就是模板标签的强大之处.接触过dedecms或者phpcms等内容管理系统的人都知道,cms的前台都是使用模板标签来调用数据,如列表,内容.来看一个phpcms v9调用数据排行列表的标签: 1 {pc:content action="hits" catid="6" nu

freemarker语法简介

ftl是一种模板标记语言,用于渲染数据,输入html结构.语法简介如下: ${book.name} ${book.name?if_exists} //值是否存在 ${book.name??} //值是否存在 ${book.name?has_content} //值是否存在 ${book.name?default("xxx")} //默认值xxx ${book.name!"xxx"} //默认值xxx ${book.date?string("yyyy-mm-

◆织梦内容管理系统模板标签代码参考

[Arclist 标记] 这个标记是DedeCms最常用的一个标记,也叫自由列表标记,其中 hotart.coolart.likeart.artlist.imglist.imginfolist.specart.autolist 这些标记都是由这个标记所定义的不同属性延伸出来的别名标记. 功能说明:获取指定的文档列表 适用范围:封面模板.列表模板.文档模板 基本语法:{dede:arclist typeid='' row='' col='' titlelen='' infolen='' imgwi

我是如何给discuz模板做语法高亮的

本人一直做ASP.NET开发,近期接到任务要用Discuz开发一个社区,第一次接触PHP,PHP灵活的语法,天生的模块化,各种语法糖深深的震惊了我,我从内心深处感受到了PHP是最牛逼的语言!!! 好了回到正题,初次看Discuz的模板,用VS打开是这样的: 没错,第一眼看上去就震惊了,这TM怎么维护?模板随随便便就2000行,因为DZ是一个极灵活的论坛,里面放了各种hook点用于扩展功能!所以模板非常庞大复杂. DZ的模板语法采用了HTML注释扩展(有一部分内联的却是破坏性的),见: http: