DedeCMS二次开发——模板篇

QQ截图20170505093728

一、模板篇

1.1、主要模板文件与功能说明

DedeCMS系统的模板是非固定的,用户可以在新建栏目时可以自行选择栏目模板,官方仅提供最基本的默认模板,即是内置系统模型的各个模板,由于DedeCMS支持自定义频道模型,用户自定义新频道模型后,还需要按该模型的字段设计一套新的模板,此外,DedeCMS也支持使用风格的形式使用模板,默认风格是 default,它表示系统默认使用 {cmspath}/templets/default 这个文件夹的模板,如果你下载了一套新的模板,你可以不必要删除 default 原有的文件,把下载的模板文件夹命名你想要的风格名称,如 style2 等,然后在后台修改了默认的模板风格名称为 style2 ,那系统将使用{cmspath}/templets/style2 这文件当作默认模板,但是若你手工指定了栏目模板的位置,则后台参数风格的定义无效。

一、概念,设计和使用模板,必须要理解下面几个概念
1、板块(封面)模板:
指网站主页或比较重要的栏目封面频道使用的模板,一般用“index_识别ID.htm”命名,此外,用户单独定义的单个页面或自定义标记,也可选是否支持板块模板标记,如果支持,系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。
2、列表模板:
指网站某个栏目的所有文章列表的模板,一般用 “list_识别ID.htm” 命名。
3、档案模板:
表示文档查看页的模板,如文章模板,一般用 “article_识别ID.htm” 命名。
4、其它模板:
一般系统常规包含的模板有:主页模板、搜索模板、RSS、JS编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。

二、 命名,DedeCMS模板默认命名规则如下
1、模板保存位置:
模板目录:{cmspath} /templets/样式名称(英文,默认为default,其中system为系统底层模板,plus为插件使用的模板)/具体功能模板文件}
2、 模板文件命名规范:
(1)index_识别ID.htm: 表示板块(栏目封面)模板;
(2)list_识别ID.htm: 表示栏目列表模板;
(3)article_识别ID.htm: 表示内容查看页(文档模板,包括专题查看页);
(4)search.htm: 搜索结果列表模板;
(5)index.htm: 主页模板;

注解:[识别ID]可以在“频道模型管理”的地方获得,当然,你也可以在“频道模型管理”的地方确定某个频道的模板命名。

例:list_image.htm 表示是就是内容类型为图片集的栏目默认列表模板。article_article.htm 表示的是文章查看页模板。

三、其它模板说明

1、默认底层模板
位置: {cmspath}/templets/system
功能:在没有指定标记的默认底层模板的时候,系统将自动调用这个文件夹的相应文件作为底层模板。
2、插件目录模板
位置: {cmspath}/templets/plus
功能:评论、友情链接、RSS地图等模板。
3、会员后台模板
位置: {cmspath}/member/templets
功能:会员后台的模板。
四、二次开发
在V5.3中已经将标签开发分离出来,您可以通过后台[模板]-[标签代码管理],点击“新增加一个新的标签”来创建一个自己的标签,标签文件名为:标签名.lib.php接口函数定义为:function lib_标签名(&$ctag,&$refObj),返回值是结果字符串修改标签时为了防止出错,您也可以修改它的名称(同时修改文件名和函数名),这样等同继承了原来标签的代码建立一个新的标签。

1.2、模板标签语法简介

织梦的模板标签类似于XML格式,所有的模板都含有定界符,默认情况下是{dede:*}和{/dede:*},“*”代表模板标记名称。一般情况下{dede:*}和{/dede:*}是成对出现的,例如:
例1-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 />

4 {/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:
1 {dede:arclist flag='h' limit='0,1' commet='调用头条的第一篇内容'}<br />

2 <h2><a href="[field:arcurl  commet="这是文章链接标签"/]">[field:titlecommet="这是文章标题标签"/]</a></h2><br />

3 <p>[field:description commet="这是摘要标签"/]...<a  href="[field:arcurl  commet="这是文章链接标签"/]">[查看全文]</a></p><br />

4 {/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是标签的相关属性,通过手册可以查阅属性的介绍。如果模板标签如果没有列出属性,系统有默认属性值,用户可以参考模板标签说明查看默认属性。

编程

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

1  {dede:tagname runphp='yes'}<br />

2  $aaa = @me;<br />

3  @me = "123456";<br />

4  {/dede:tagname}@me 表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给@me。
此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerText。

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/2169.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚重蔚管理团队
上一篇 2017年5月4日 15:02
下一篇 2017年5月5日 10:04

相关推荐

  • 什么是内容管理系统CMS建站。

    之前我们了解了域名以及服务器的相关知识,相信也有许多用户已经心动开始架设起一个属于自己的网站了。 域名是一个网站的门面,服务器是网站的大脑,那么怎么样让大脑丰富起来变得有思想、有内涵,本文就带领大家走…

    2022年7月4日 建站资讯
    0193
  • 聊聊织梦优点_织梦是干什么的。

    做个企业网站是请人开发系统还还是购买现成的建站系统好? 1、很多建站公司都是用其他公司的程序,比如dede、cmseasy等,因为自己如果开发程序一是时间长,一时半会很难见到效益;二是维护费用大、服务量大。所以量…

    2024年6月20日
    00
  • 织梦dedecms开始收费了, 如何自查?怕涉嫌侵权被起诉怎么办?

    大家好,从业经验看,一般企业领导不看网站后台,可能还真不知道自家网站是什么CMS做的,可如今要注意了!已经有多家CMS公告收费,如果限期内不购买系统版块可能构成侵权。普及一下CMS内容管理系统(content manage…

    2023年5月1日
    02
  • 今日分享织梦如何自定义标签。

    一、什么是织梦自定义标签? 织梦自定义标签,简称为“标签”,是织梦内容管理系统(DedeCMS)中的一个重要功能,它允许用户根据自己的需求,为网站中的文章、列表等内容添加自定义的属性,以便于对这些内容进行分类、…

    2024年7月7日
    01
  • 我来教你dedecms标签怎么调用。

    DedeCMS是一款非常流行的开源内容管理系统,它提供了丰富的标签功能,可以帮助我们快速地生成各种类型的内容,在DedeCMS中,标签的调用非常简单,只需要按照一定的格式进行编写即可,本文将详细介绍如何在DedeCMS中…

    2024年6月29日
    00
  • 小编分享dede短信接口怎么写。

    一、什么是Dede短信接口? Dede短信接口是指基于DedeCMS(织梦内容管理系统)的一款用于发送短信的API接口,DedeCMS是一款开源的内容管理系统,广泛应用于企业网站的建设,通过Dede短信接口,用户可以方便地实现对网…

    2024年6月15日
    03
  • 我认识的CMS--织梦开发经验

    首先给大家介绍一下与cms有关的基本的概念 (1)什么是内容管理系统我们在学习之前先明确一个概念,什么是内容管理系统(CMS)?其实CMS是一个比较宽泛的概念,大家可以认为CMS程序就是一个建站程序,用来发布图片和…

    2017年5月4日
    0381
  • 今日分享织梦调取顶级栏目,织梦如何调用顶级栏目。

    一、什么是顶级栏目? 顶级栏目是指网站上具有最高权重、最重要性的栏目,在织梦系统中,顶级栏目通常是指包含其他栏目的栏目,如“首页”、“新闻资讯”等,这些栏目对于整个网站的结构和内容分布起着关键作用,因此在…

    2024年6月16日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息