dedecms网页模板编写介绍

所属分类: CMS教程 / dedecms 阅读数: 691
收藏 0 赞 0 分享
一 关于标签

dedecms标签:就像html标签,不过是织梦自定义的,由标签名,属性,和InnerText构成。

先看一段代码templets/index.htm

复制代码
代码如下:

网站名:{dede:global name=cfg_webname/}<br/><br/>
<strong>最近登陆的会员</strong><br/>
{dede:memberlist row=6 signlen=30}
<a href="[field:spaceurl/]" target="_blank">
<img src="[field:face/]" width="52" height="52"/> [field:uname/]<br/>
</a>
{/dede:memberlist}


通过运行网站主页index.php查看结果。

像dede:global就是标签名,name=cfg_webname是属性,在dede:memberlist标签间的就是InnerText。在织梦中,InnerText又称为底层模板。

短标签:像global这种只有单边的标签叫短标签,表示一个元素的值。

块标签:像memberlist这种成对的标签叫块标签,一般表示一系列的纪录,像上面的代码就表示列出6个会员的默写信息。研究一下会发现这些记录来自数据库。

[field:XX]这个代表记录中的某个属性值。

 

总结一下,编写模板时用到这些语言

Html代码+新增的dedecms标签语法。

Css和Js没有新语法,以外部文件的方式调用。

Php,mysql的代码大大减少,与数据库查询有关的代码大部分被标签语法。比如说调用memberlist标签,就等价于访问数据表dede_cms。Php主要用于插件等新模块的编写和修改。

以上只是织梦标签语法的简述,详见模板手册

标记手册1

标记手册2

站长百科

二 模板的种类

先说一下各个文件夹

System文件夹,里面放的是默认底层模板。当我们在块级标签间不写任何东西时,就会自动被调用来作为块级标签的InnerText。

Plus文件夹,里面放的是被root_dir/plus里的php调用的模板。经过一些研究也许能仿写这些模板的代码,待探究。

Default文件夹,里面放的是默认模板,是网页显示主要的模板,如果在网上下一个其他的dedecms模板(非官方默认模板),可能里面只是一个templets文件夹,因为这对外观已经足够了。下面是default文件夹的分析。

我以前只用到index.htm,其他的文件有什么用呢?

我认为这些文件可以分成两类:

第一类不是一个完整的页面,被include的(由于有了dedecms标签,html文档中也可以include)。如head.htm,footer.htm等。

第二类就是完整的页面了,呵呵。

而第二类又分为封面(index)模板,列表(list)模板,文档(内容,article)模板。文件夹中的index_XX.htm就是封面模板,依此类推。

 在root_dir/index.php中的SetTemplet处把路径改为dirname(__FILE__) . "/templets/default/

list_article.htm",显示的内容不太完整。这些模板要怎么用呢?一下是我探索的办法:

打开dedecms的网站后台管理(对了,请先安装安装数据体验包,这样才有测试数据)

点击网站栏目管理

    

在网页基础中点更改

常规选项中栏目属性是频道封面

再选择高级选项

高级选项中封面模板为{style}/index_article.htm

如果你安装的数据和我是同一版本,就会知道网页基础是个一级栏目,底下组织了很多文章。

回到网站栏目管理

点击预览,会看到一个关于网页基础栏目的页面。由于常规选项中栏目属性是频道封面,高级选项中封面模板为{style}/index_article.htm,所以网页调用index_article.htm作为模板。

依此类推,如果在常规选项中栏目属性是最终列表栏目,高级选项中封面模板为{style}/list_article.htm,则会调用list_article.htm作为模板,文档模板也依此类推。

模板和栏目的关系

每一个栏目都有自己的三个模板,而同一个模板可被多个栏目所用。也就是说,模板只是提供了样式,但内容终究来至数据库。这也说明了为什么在root_dir/index.php中的SetTemplet处改路径不能显示完整的内容,因为模板没有绑定到某个具体栏目。这也是织梦作为内容管理系统的特点,把样式和内容分离。

 

再来说说文档模板,在常规选项->栏目属性处看到。作为频道封面栏目不能发布文章的。那我们选一个最终列表栏目,如”Html”

点击更改。看到常规选项中栏目属性是最终列表栏目,点高级选项,就能看到文档模板为{style}/article_article.htm,所以Html栏目下所有的文章都会以这个模板显示。

点击内容管理里的普通文章

选择一篇Html栏目下的文章,点预览(右边的那个绿色小球)

这时看到的是就是article_article.htm模板代表的样式。

到这里,应该就会如何显示/调试封面模板、列表模板和文档模板了。

 

那么如何编写模板,当然要先学过标签语法

A、function 扩展,如{dede:标记名称 function=”函数名(@me,其它参数)” /}

B、在Innertext中直接编程,也就是之前一直用的方法

再读一下index_article.htm,list_article.htm,article_article.htm。读源码是最好的学习方法^_^

 

可以看见templets/default中大部分的模板都是这三类,可见其重要性。那么有index_article.htm,list_article.htm,article_article.htm就够了,其他又是干什么的。

这就要讲到频道,频道是栏目的类型,文章(article)频道、图片(image)频道、软件(soft)频道(实质是一个下载频道)、商品(shop)频道等。频道是一种内容模型,比如动漫、风景都能用图片频道。所以就会有index_article.htm,index_ image.htm,index_ soft.htm,index_shop.htm。每个频道都有自己的三种模板。

总的来说,写网页具体要做的就是为每个频道编写网页模板。

关于模板的内容就分享到这里了。

更多精彩内容其他人还在看

dedecms模板标签如何做判断示例代码

dedecms模板标签是可以做判断的,不过具体要看是哪个标签,有些标签是无法判断的。必须改源文件,下面有个示例,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

DEDE [field:global name=autoindex/] 按序号排列从0从1开始

调试程序用到[field:global name=autoindex/ ] 调用指定频道而频道前面需要加CSS代码,CSS代码正好是按序号排列的,于是修改了一下代码,在此与大家分享下,感兴趣的朋友可以收藏下
收藏 0 赞 0 分享

DEDECMS的20位MD5加密密文解密示例介绍

dedecms的20位md5加密算噶是从32位md5中截取的20位,所以去掉前3位喝最后1位,即可获得16位md5值,即可破解15位md5,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

织梦dedecms登录管理后台总是验证码错误的解决方案

织梦dedecms登录管理后台总是验证码错误在网上找了很多的解决方案,说法有很多种,但最后都无法解决这个问题,感兴趣的朋友可以了解下本文
收藏 0 赞 0 分享

如何让dedecms变成全站动态浏览有利于企业站

教大家如何让dedecms(织梦)变成全站动态浏览,对于企业站很有利哦!有时候dedecms全站的静态反而对于建设企业站不利,具体实现如下,感兴趣的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享

使用dedecms搭建自己的本地网站(全程图解)

对于初学而言,网站都是在本地调试好后,才通过ftp上传到所买的空间或虚拟主机上,而无论是处于什么情况,学习在本地搭建网站的方法对于初学者是很有用的,下面与大家分享下具体的搭建过程
收藏 0 赞 0 分享

适合企业站的织梦常用标签大全(自己整理)

对于企业站而言其实不用了解那么多标签,在这里分享下自己总结的适合企业站的标签大全,希望大家收藏,以备不时之需
收藏 0 赞 0 分享

DEDECMS最为常用的分页标签及分页样式代码

今天我要分享的是我们最为常用的分页列表及分页样式代码,很多人在这个上面花费的时间较多,其实很简单,如果使用我下面的通用版本就很轻而易举的完工,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

dede标签云如何生成不同颜色、不同大小的tag标签

tag标签做网站的朋友想必知道吧,在本文要为大家讲解的的是dede标签云的使用,如何生成不同颜色、不同大小的tag标签,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

dedecms列表页标题title后加上页数其标题不重复的方法

在列表页的标题后加上页数使列表页的标题不重复这样更利于优化,下面是从搜索整理的解决方法,有类似需求的朋友可以参考下,希望对大家有所帮助
收藏 0 赞 0 分享
查看更多