模板织梦建站基础入门教程

织梦教程  时间:2021-02-16  阅读:()

织梦CMS教程织梦内容管理系统(dede)模板标签代码讲解

DedeCms系统的模板是非固定的用户可以在新建栏目时可以自行选

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

一、概念设计和使用模板必须要理解下面几个概念

1、板块封面模板

指网站主页或比较重要的栏目封面频道使用的模板一般用“index_识别ID.htm”命名此外用户单独定义的单个页面或自定义标记也可选是否支持板块模板标记如果支持系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。

2、列表模板

指网站某个栏目的所有文章列表的模板一般用 “list_识别ID.htm” 命名。

3、档案模板

表示文档查看页的模板如文章模板一般用 “article_识别ID.htm” 命名。

4、其它模板

一般系统常规包含的模板有主页模板、搜索模板、  、  编译功能模板等此外用户也可以自定义一个模板创建为任意文件。

二、 命名 DedeCms模板默认命名规则如下

1、模板保存位置

模板目录cmspath/templets/样式名称英文默认为default其中system为系统底层模板 plus为插件使用的模板 /具体功能模板文件

2、 模板文件命名规范

   index_识别ID.htm 表示板块栏目封面模板

   list_识别ID.htm 表示栏目列表模板

   artic le_识别ID.htm 表示内容查看页文档模板包括专题查看页

 s earch.htm 搜索结果列表模板

   index.htm 主页模板

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

例 lis t_im ag e.htm表示是就是内容类型为图片集的栏目默认列表模板。artic le_artic le.htm表示的是文章查看页模板。

三、其它模板说明

1、默认底层模板

位置 c mspath/templets/system

功能在没有指定标记的默认底层模板的时候系统将自动调用这个文件夹的相应文件作为底层模板。

2、插件目录模板

位置 c mspath/templets/plus

功能评论、友情链接、 RS S地图等模板。

3、会员后台模板

位置 c ms path/member/templets

功能会员后台的模板。

四、二次开发

DedeCms 主 要 的模 板 解 析 类是 include/inc_arcpart_view.php 、inc lude/inc_arc list_vie w.php、 inc lude/inc_archives_view.php这些类是与pub_dedetag.php一起工作的如果你想为文档模板、列表模板、板块模板增加一些功能可以直接修改这几个类的ParseTemplet()或ParseTempletsF irst()这类的方法把标记名称属性对应试相应该的功能函数即时。

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

1、织梦模板引擎的代码样式有如下几种形式

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

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

{dede:标记名称属性='值' }自定义样式模板(InnerText) {/dede:标记名称}

提示

如果使用带底层模板的标记必须严格用{dede:标记名称属性='值' } {/dede:

标记名称}这种格式否则会报错。

2、织梦模板引擎内置有多个系统标记这些系统标记在任何场合都是能直接使

用的。

(1) global标记表示获取一个外部变量除了数据库密码之外能调用系统的

任何配置参数形式为

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

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

其中变量名称不能加$符号如变量$cfg_cmspath 应该写

成{dede:global name='cfg_cmspath'/} 。

(2) foreach用来输出一个数组形式为

{dede:foreach array='数组名称

' } [field:key/] [field:value/] {/dede:foreach}

(3) include引入一个文件形式为

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

对文件的搜索路径为顺序为绝对路径、 include文件夹 CMS安装目录 CMS

主模板目录

3、织梦标记允许在任何标记中使用函数对得到的值进行处理形式为

{dede:标记名称属性='值' function='youfunction("参数一", "参数二

", "@me") '/}

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

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

4、织梦标记允许有限的编程扩展。

格式为

{dede:tagname runphp='yes' }

$aaa = @me;

@me = "123456";

{/dede:tagname}

@me表示这个标记本身的值 因此标记内编程是不能使用echo之类的语句的

只能把所有返回值传递给@me。

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

用默认的InnerText。

【Arclist标记】

这个标记是DedeCms最常用的一个标记也叫自由列表标记其中hotart、 coolart、 likea rt、 artlist、 imgli st、

功能说明获取指定的文档列表

适用范围封面模板、列表模板、文档模板

基本语法

{dede:arclist typeid=' 'row=' 'col=' ' title len=' ' infol en=' 'imgw idth=' ' imghe ight=' ' lis tt yp e=' 'orderby=' 'keyw ord=' '}

底层模板(InnerText)

{/dede:arcli st}

属性说明

[1] typeid=' '表示栏目ID在列表模板和档案模板中一般不需要指定在封面模板中允许用","分开表示多个栏目

[2] row=' '表示返回文档列表总数

[3] col=' '表示分多少列显示默认为单列

[4] titlelen=' '表示标题长度

[5] infolen=''表示内容简介长度

[6] imgwidth=' '表示缩略图宽度

[7] imgheight=' '表示缩略图高度

[8] type=''表示档案类型其中空值、不使用这个属性或typ e='all'时为普通文档

§ type='c ommend'时表示推荐文档等同于{dede:c oolart} {/dede:c oolart}

§ type='image'时表示必须含有缩略图片的文档等同于{dede:imglist} {/dede:imgli st}、 {dede:imginfolis t} {/dede:i§ type='spec'时表示专题等同于标记{dede:spec art} {/dede:spec art}

以上属性值可以联合使用如 type='c ommend image'表示推荐的图片文档

[9]orde rby=' '表示排序方式默认值是s enddate按发布时间排列。

§orderby='hot'或orderby='c lick'表示按点击数排列

§orderby='pubdate'按出版时间排列即是前台允许更改的时间值

§orderby='s ortrank'按文章的新排序级别排序如果你想使用置顶文章则使用这个属性

§orderby='id'按文章ID排序

§orderby='postnum'按文章评论次数排序

§orderby='rank'随机获得指定条件的文档列表

[10]orde rway=' '值为desc或asc 指定排序方式是降序还是顺向排序默认为降序。

[11]k e yword=' '表示含有指定关键字的文档列表多个关键字用","分开

[12]channelid=' '表示特定的频道模型ID 内置的频道专题(-1)、文章(1)、 图集(2)、 Flash(4)、软件(3)

[13] limit='起始,结束'表示限定的记录范围 row属性必须等于"结束-起始"mysql的limi t语句是由0起始的

[14]att='数值'表示自定义属性值

[15] s u bda y='天数'表示在多少天以内的文档通常用于获取指定天数的热门文档、推荐文档、热门评论文档等

[16]parts ort='排列位数'表示自动获得父栏目的所有子数中排列在第几位的栏目ID标记为{dede:autolist} {/dede底层模板字段

ID(同id) , title, iscommend,color, typeid, ismake,description(同info) ,writer, shorttitle,pubdate, senddate,arcrank,click, litpic(同picname) , typedir, typename,arcurl (同filename) , typeurl, stime(pubdate的"0000-00-00"格式) ,textl ink,typ el ink,imglink,image

其中

textlink=<a href='arc url'>title</a>typ e l ink=<a hr e f='typ eur l'>typ en am e</a>imgli nk=<a href='arcurl'><img src='picname'border='0'width='imgwidth'height='imghe ight'></a>image=<img src='picname'border='0'w idth='imgw idth'height='imghe ight'>

字段调用方法 [field:varname/]

如

{dede:arclist infolen='100'}

[field:textl ink/]

<br>

[field:info/]

<br>

{/dede:arcli st}

注底层模板里的Fi e l d实现也是织梦标记的一种形式 因此支持使用PHP语法 Fu n ct i o n扩展等功能如 给当天发布的内容加上(new)标志

[field:s enddate runphp='yes']

$ntime=time();

$oneday=3600*24;if(($ntime -@me)<$oneday)@me="<font color='red'>(new)</font>";els e@me="";

[/field:senddate]

标记】

功能说明用于获取特定栏目或档桉的字段值及常用的环境变量值

适用范围封面模板、列表模板、文档模板

(1)基本语法

{dede:field name='字段名'/}

(2)系统分配的field

板块模板 phpurl,indexurl,index name,templeturl,membe rurl,pow erby,w ebname,specurl

列表模板 pos ition,title,phpurl,templeturl,memberurl,pow erby,indexurl,indexname,spec url,栏目表dede_arc type的所有其中position为“栏目一>栏目二”这样形式的链接 title则为这种形式的标题

文档模板 po s ition,phpur l,templeturl,memberurl,pow erby,in dexurl,indexname,spec url,id(同ID,aid)

(3)文档所有内容字段

档案dede_archives表和附加表的所有字段。

标记】

功能说明用于获取栏目列表

适用范围封面模板、列表模板、文档模板

(1)基本语法

{dede:channe l row=' ' type=''}

自定义样式模板(InnerText)

{/dede:channel}

(2)属性

[1]row='数字'表示获取记录的条数通用在某级栏目太多的时候使用默认是8

[2] type=top,sun/son,s elftyp e='t o p'表示顶级栏目typ e='s on'或's un'表示下级栏目typ e='s elf'表示同级栏目

其中后两个属性必须在列表模板中使用。

(3)底层模板变量

I D,typ enam e,typ e dir,typ el ink(仅表示栏目的网址)

例

{dede:channe l type='top'}

<a href='[field:typel ink/]'>[field:typen ame/]</a>

{/dede:channel}

注在没有指定typ e i d的情况下 typ e标记与模板的环境有关如模板生成到栏目一那么typ e='s o n'就表示栏

功能说明表示指定的单个栏目的链接

适用范围封面模板、列表模板、文档模板

(1)语法{dede:type typeid=' '} {/dede:type}

(2)属性typ ei d='栏目I D'

(3)底层模板变量typ en am e,typ e l ink(仅表示栏目的网址)

标记】

功能说明表示指定排序位置的单个栏目的链接

适用范围封面模板、列表模板、文档模板

(1)语法{dede:autochanne l partsort=' '} {/dede:autochannel}

(2)属性partsort='栏目所在的排序位置'

(3)底层模板变量typ en am e,typ e l ink(仅表示栏目的网址)

标记】

功能说明用于获取自定义宏标记的内容

适用范围封面模板、列表模板、文档模板

(1)基本语法

{dede:mytag typeid=' 'name=' ' ismake=' '/}

(2)属性

[1] typeid='数字'表示栏目ID默认为0在没有设定的栏目没有定义这个名称的标记会按如下搜索方式来搜

[2]name=''标记名称。

[3] is make=yes|no默认为no表示mytag里的内容不包含其它封面模板的标记 yes则表示标记内容含有其它封面标记】

功能说明用于获取一组投票表单

适用范围封面模板

(1)基本语法

{dede:vote id='投票ID' lineh eight='22'tablewidth='100%' titlebgc olor='#EDEDE 2'titlebackground=' 'tablebgc olor='#FFFFFF'}

{/dede:vote}

注本标记直接生成投票的HT ML表单为了让你更方便修改其样式建议在后台->投票管理的地方直接复制生

功能说明用于获取友情链接

适用范围封面模板

(1)基本语法

{dede:flink type=''row=''c ol=' 'title len=' ' tablestyle=' '} {/dede:flink}

(2)属性

[1]type链接类型值a. textall全部用文字显示b. textimage文字和图得混合排列c. text仅显示不带Logo的链接d. image仅显示带Logo的链接

-------------------------------------

[2]row显示多少行默认为4行

[3]col显示多少列默认为6列

[4]titlelen站点文字的长度

[5]table style 表示<table这里的内容>

标记】

功能说明用于获取站内新闻

适用范围封面模板

(1)基本语法

{dede:mynew s row='条数' title len='标题长度'}Innertext{/dede:mynews}

(2)属性

[1] row新闻条数

[2] titlelen标题长度

(3)底层模板变量

[field:title/]、 [field:writer/]、

[field:senddate function="strftime('%y-%m-%d%H:%M',@me)"/](时间)、 [field:body/]【LOOP标记】

功能说明用于调用任意表的数据一般用于调用论坛贴子之类的操作

适用范围所有模板

(1)基本语法

{dede:loop table=' sort=' 'row=' ' if=' '}

底层模板

{dede:loop}

(2)属性

[1] t able表示查询的数据表

[2] s o rt用于排序的字段

[3] row返回结果的条数

[4] if查询条件

(3)底层模板变量

这个标记的底层模板变量即是被查询表的所有字段

例获取DZ论坛的最新主题贴子

香港2GB内存DIYVM2核(¥50月)香港沙田CN2云服务器

DiyVM 香港沙田机房,也是采用的CN2优化线路,目前也有入手且在使用中,我个人感觉如果中文业务需要用到的话虽然日本机房也是CN2,但是线路的稳定性不如香港机房,所以我们在这篇文章中亲测看看香港机房,然后对比之前看到的日本机房。香港机房的配置信息。CPU内存 硬盘带宽IP价格购买地址2核2G50G2M1¥50/月选择方案4核4G60G3M1¥100/月选择方案4核8G70G3M4¥200/月选择...

BuyVM老牌商家新增迈阿密机房 不限流量 月付2美元

我们很多老用户对于BuyVM商家还是相当熟悉的,也有翻看BuyVM相关的文章可以追溯到2014年的时候有介绍过,不过那时候介绍这个商家并不是很多,主要是因为这个商家很是刁钻。比如我们注册账户的信息是否完整,以及我们使用是否规范,甚至有其他各种问题导致我们是不能购买他们家机器的。以前你嚣张是很多人没有办法购买到其他商家的机器,那时候其他商家的机器不多。而如今,我们可选的商家比较多,你再也嚣张不起来。...

ZJI-全场八折优惠,香港服务器 600元起,还有日本/美国/韩国服务器

月付/年付优惠码:zji  下物理服务器/VDS/虚拟主机空间订单八折终身优惠(长期有效)一、ZJI官网点击直达ZJI官方网站二、特惠香港日本服务器香港大埔:http://hkdb.speedtest.zji.net/香港葵湾:http://hkkw.speedtest.zji.net/日本大阪:http://jpsk.speedtest.zji.net/日本大阪一型 ...

织梦教程为你推荐
天府热线劲舞团(四川天府热线)为什么越来越卡了??百度手写百度如何手写:ios7固件下载iOS的固件有正版盗版之分吗?我看到了蜂威网有iOS7的固件想下载试用一下,那里是测试版是正版吗ios7固件下载iOS7如何升级固件?创维云电视功能很喜欢创维云电视,它到底有哪些独特功能?安装迅雷看看播放器迅雷看看不能播放,说我尚未安装迅雷看看播放器mate8价格现在买华为mate8高配划算吗商标注册查询官网商标注册网的官网是哪个?网页打开很慢为什么我打开浏览器的时候,网页打开的很慢?宽带接入服务器宽带接入服务器的五大功能是什么?
winscp 5折 arvixe linode ix主机 360抢票助手 双12活动 免费ftp站点 dux 新天域互联 jsp空间 最好的免费空间 徐正曦 phpmyadmin配置 广州服务器 空间技术网 空间首页登陆 网页提速 电信网络测速器 新加坡空间 更多