设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
资讯分享
›
长春建站
›
dedecms网页模板编写介绍
返回列表
查看:
1189
|
回复:
0
dedecms网页模板编写介绍
[复制链接]
阿情
当前离线
积分
7622
2560
主题
2560
帖子
7622
积分
论坛元老
论坛元老, 积分 7622, 距离下一级还需 9992377 积分
论坛元老, 积分 7622, 距离下一级还需 9992377 积分
积分
7622
发消息
电梯直达
楼主
发表于 2018-2-13 20:39:55
|
只看该作者
|
倒序浏览
|
阅读模式
一 关于标签
dedecms标签:就像html标签,不过是织梦自定义的,由标签名,属性,和InnerText构成。
先看一段代码templets/index.htm
复制代码
代码如下:
网站名:{dede:global name=cfg_webname/}
最近登陆的会员
{dede:memberlist row=6 signlen=30}
[url=[field:spaceurl/]]
[img][field:face/][/img]
[field:uname/]
[/url]
{/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主要用于插件等新模块的编写和修改。
以上只是织梦标签语法的简述,详见模板手册
[color=]标记手册1
[color=]标记手册2
[color=]站长百科
二 模板的种类
先说一下各个文件夹
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。每个频道都有自己的三种模板。
总的来说,写网页具体要做的就是为每个频道编写网页模板。
关于模板的内容就分享到这里了。
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端