第一章 模板概述
一、概述
DedeENT模板引擎沿用了织梦内容管理系统(DedeCMS)的模板机制,在其基础上做了一些扩展及修改,仍然是类XML格式标记,并加入了多国语言的调用,不同类型的页面同相应模板进行对应,使得内容同表现进行分离,这样便于维护和升级,简单易懂的标签能够让你的企业站点更加个性。
二、模板路径
同DedeCMS相同,DedeENT模板路径为“网站根目录/templets”
多语言企业版的默认模板是 default/en
如果你想为某语言设置单独的模板,可以在这里新建一个对应语言的文件夹,并把en文件夹的文件复制到里面,如 gb2312、big5,这样系统会按栏目调用相应该的模板
在没有指定其它语言的模板的情况下,系统会自动按栏目设定调用相应该的语言包解析默认的default/en模板。
其中 default/index.htm 是默认总入口。
对于栏目封面或列表页、内容页,系统默认以栏目设定的语言包为依据,对于手工指定的任意封面模板,则以模板里指定的语言作为默认评语言。
三、模板目录组成
default 系统默认模板文件,在制作模板的时候可以参考默认模板
plus 插件模板目录文件,对应例如:留言板、投票等,对应系统程序中Plus目录
system 这是系统模板文件,这里面存放了标签的默认底层模板,如果没有指定,系统会自动调用这个底层模板文件夹
wap 网站WAP功能的模板文件
其他的style以及images为模板的附件文件夹,分别存放模板的样式以及图片,当然模板制作者也可以制定自己的模板样式目录,只需要文件解析后能够对应即可。
四、主要页面及文件介绍
DedeENT分为了首页、封面、列表、内容几种页面组成部分,首页一般是整站信息的聚合,起着网站入口的作用,一般网站 “开门见山”,能够通过首页了解到你网站(公司)的大部分信息。
1.首页 ({style}/index.htm)
企业站首页一般显示最新产品、最新动态、以及多国语言版本选择、超链接等信息,一般的企业会加上一个比较大幅的图片或者一个动画。
2.语言入口、频道页({style}/{lang} /index.htm)
类似于DedeCMS中的顶级栏目,这里是语言入口,这里就是现实公司站点的相关信息,其中包含公司简介、产品展示、投票等内容。
3.单独内容页({style}/{lang} /catalog_sgpage.htm)
单页面,就是显示公司简介、关于我们等信息内容,类似于DedeCMS系统中栏目内容的功能
4.列表页({style}/{lang} /list_article.htm)
将内容以列表的形式体现出来,一般做新闻资讯的列表,可以通过翻页浏览所有的内容。同样也可以将产品以列表的形式调用出来。
5.内容页({style}/{lang} /article_article.htm)
点击列表后展示的内容,例如点击新闻列表显示当前的新闻资讯内容,点击产品列表显示当前产品,一般内容页面的内容可以通过后台编辑栏目文档内容进行变化。
第二章 模板操作
一、安装
不同的模板制作人员会有不同的模板命名风格,在他们发布的模板中会有相应的模板安装说明,本文只是通用模板的安装说明,并不一定具有普遍性。
1.拷贝文件至模板目录
将文件拷贝到模板目录/templets
2.系统后台设置模板目录文件
拷贝完成后一般都知道自己的模板文件目录文件夹,如果是default则不需要修改,如果不是,则需要在系统后台[系统]-[系统基本参数]中的站点设置中“模板默认风格:”。
例如我们下载了一个模板有如下的目录
/templets
|___/dede2009
|___/index.htm
|___/en
|___/index.htm
|___ /article_article.htm
|___/article_product.htm
|___/….htm
|___ /list_default.htm
|___/images
|___/css
这时候我们知道模板页面的文件存放在了/dede2009这个文件夹中,则在系统后台设置风格为dede2009
3.首页模板设置
当然有些时候设置了这个默认模板风格发现首页更新了还是没有变化,这时候是因为你没有正确的设置首页的模板,则需要在[系统]-[更新主页HTML]中设置模板路径。
通过以上3个步骤模板基本上都能够正确的被解析,当然您还可以通过后台[系统]-[内容模型管理]查看每个内容模型的模板文件,同时可以对其进行修改。
二、修改
模板正确被安装后可能因为某些局部细节需要进行调整,这时候就可以通过以下3种途径对模板进行修改。
1.频道模型管理中修改模板
如上面内容所述,可以通过修改频道模型中的模板,点击“修改”即可转向模板修改页面,当然这个需要模板目录拥有修改权限;
2.系统后台模板管理
可以通过后台[系统]-[默认模板管理],通过模板管理来修改模板文件,并且这里已经列出了模板文件对应的描述,如果是小的修改可以直接通过这里进行;
3.本地修改再上传
一般涉及到修改内容比较多,则需要用户将模板文件下载下来,通过专业的编辑器,如Dreamweaver、EditPlus等进行修改,修改完成之后再上传覆盖。
第三章 模板标签
织梦的模板标签类似于XML格式,所有的模板都含有定界符,默认情况下是{dede:*}和{/dede:*},“*”代表模板标记名称。
一般情况下{dede:*}和{/dede:*}是成对出现的,例如:
例1-1:
{dede:arclist flag=’h’ limit=’0,1’}
<h2><a href=”[field:arcurl/]”>[field:title/]</a></h2>
<p>[field:description/]…<a href=”[field:arcurl/]”>[查看全文]</a></p>
{/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=’调用头条的第一篇内容’}
<h2><a href=”[field:arcurl commet=”这是文章链接标签“/]”>[field:titlecommet=”这是文章标题标签“/]</a></h2>
<p>[field:description commet=”这是摘要标签“/]…<a href=”[field:arcurl commet=”这是文章链接标签“/]”>[查看全文]</a></p>
{/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’}
$aaa = @me;
@me = “123456”;
{/dede:tagname}
@me 表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给@me。
此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerText。