我认识的CMS--织梦开发经验

首先给大家介绍一下与cms有关的基本的概念

(1)什么是内容管理系统我们在学习之前先明确一个概念,什么是内容管理系统(CMS)?其实CMS是一个比较宽泛的概念,大家可以认为CMS程序就是一个建站程序,用来发布图片和新闻等信息的。

(2) CMS的分类 CMS系统的分类也很多,主要有以下3种:企业内容管理系统(Enterprise CMS)、网站内容管理系统(Web CMS)、组织单元内容管理系统(Component CMS),根据系统应用类型分为框架开发型和系统应用型。目前由于国内网络技术水平还处于发展阶段,所以应用型网站内容管理系统受到国内用户极大的欢迎。

(3)国内CMS程序

国内的CMS系统很多,大致有以下一些:PHP类:织梦、帝国、PHPCMS、PHP168、ASP类:动易、科汛、风讯、5UCMS、国外CMS大多以PHP为主,如:drupal、joomla等

(4) DedeCMS程序介绍

DedeCMS是基于PHP MySQL开发,国内最早开源的内容管理系统,DedeCMS程序从2004年10月发布第一个版本,当初是由IT柏拉图个人开发,程序发布后逐渐受到大家的关注,很多人都开始使用织梦,了解了什么是CMS。

2007年11月15日织梦成立团队,从而使得DedeCMS从个人时代走向团队时代。当然IT柏拉图本人也是深受大家关注的一个人物,是一个非常受人尊敬的技术人员,在织梦官方网站上面有他的一篇访谈,文章讲述了他和DedeCMS的一些故事,大家课后可以好好的阅读下,现在柏拉图是织梦团队核心技术人员之一。    从组建团队之后DedeCMS继承了早期版本模板制作简单、程序操作简洁人性化等特点,并明确了模块化、模型化的概念,并推出了5.0版本,后来发布的5.3应当是这一系列概念的升华。内容管理系统已经不单单是一个用于发布信息的程序,通过模块式的嵌入,可以让站点的结构组织更为丰富,互动性更强。今后将会成为一个Web站点的管理工具。

(5)织梦的开源 这里特别需要说明下,何谓开源,简单来说从字面理解就是开放源代码,但国外程序开源标准很规范,他们有很多开源协议。 但国内由于技术起步较晚,以及结合国情,国内的开源程序很少有能够完全符合某个开源协议的,织梦所认为的开源有2方面: 1.程序开放,当然这个除了源代码不加密之外,程序应用方面的开放性也很重要,具体系现在:模板简单易用、规则可以导入导出、程序插件、模块便于分享、会员接口等;

2.开源的社区氛围,这个包含技术经验分享、程序(模块、模板)分享、任务分享,良好的交流、学习氛围,完善的用户培养体系; 目前国内开源方面能够做到这2个方面的寥寥无几,织梦也正努力朝着这个方向前进。  就我个人而言我比较喜欢织梦程序以前选择织梦是因为模板机制太方便了,只要能懂HTML,就可以做模板,所以这个方面把我吸引了,目前还没有发现有其他建站程序有这样的模板引擎。 后来开始慢慢研究程序的功能、程序代码,发现织梦最大的特色就是简单易用,功能强大,比起那些花哨的作品,更对这款程序情有独钟。     在我接触DedeCMS的时候相关的文档非常少,只有柏拉图的一份标签文档以及一些残缺的使用手册,但大家的学习积极性非常高。 所以个人希望通过这一系列的教程能够让大家更加轻松、快速的学习DedeCMS。

接着介绍一下如何学习织梦                     

DEDECMS模板结构

a模板文件路径DEDE的默认模板文件是保存在{cmspath}/templets/default下的

b模板相关CSS路径DEDE默认模板文件夹default内的模板文件的CSS路径都保存在{cmspath}templetsstyle下

c模板相关图片路径默认模板文件夹default内的模板使用到的图片都保存在{cmspath}/templets/images下

d默认底层模板路径{cmspath}/templets/system功能在没有指定标记的默认底层模板的时候系统将自动调用这个文件夹的相应文件作为底层模板

e插件目录模板路径{cmspath}/templets/plus功能评论友情链接RSS地图等模板

f会员后台模板路径 {cmspath}/member/templets功能会员后台的模板

模板文件命名规范

(1)index_识别IDhtm 表示板块(栏目封面)模板

(2)list_识别IDhtm 表示栏目列表模板

(3)article_识别IDhtm 表示内容查看页(文档模板包括专题查看页)

(4)searchhtm 搜索结果列表模板

(5)indexhtm 主页模板

我们学习DedeCMS主要是从3个部分进行学习;后台à模板à代码。

1.后台方面的学习,这方面包含网站程序的使用,栏目、内容的维护,常用功能的使用,一般这部分内容比较简单,视频教程基本已经将常用功能列出,大家可以通过访问以下地址进行基础使用学习:http://help.dedecms.com/video/quickstart/

2.模板,网站前台页面展示的效果,精于此道的一般是网站的美工,在页面设计、网页制作方面有较强的技能。

3.代码,也就是DedeCMS程序代码,这部分涉及到功能上面的开发,主要是模块、插件以及系统部分的二次开发,精于此道应该是程序员。 以上两个部分是是技术型的学习,这部分学习需要了解很多网站建设方面的技术知识,一般技术人员学习这方面不是问题。 但对于新人或者个人站长可能比较困难,在我们建站中遇到的“我需要一个XXX功能”“我需要这个页面变成XXX效果”这类问题都是需要有这方面的学习才能够实现。当然后台很多的操作也需要同学们具备基础技术知识,例如你在使用到模板修改的时候,尽管可以在后台操作但你仍然需要有一定的HTML的基础,如果你使用数据库替换的功能,你就需要有一定的MySQL基础,所以能够把系统后台整个弄通的,基础技术知识也需要扎实。否则缺一不可。

接下来我们就以DedeCMS的2个部分的内容进行下介绍,① 模板引擎;② 内容模型。 ① 模板引擎介绍 打个比方:模板引擎是房子,那模板就是装修,不同的模板会使房子有不同的装修,房子的样子就不一样,但房子还是一样;即模板引擎一直不变,不同的模板使得你的网站有不同的样子。现在主流的程序都有自己的模板引擎,例如Ecshop、PHPCMS、Discuz等,不同的模板引擎会有不同的模板制作方式,而且难易度也不一样。

 

模板引擎对比  

我们来看Discuz的模板:

<!--{if $admode && empty($insenz['hardadstatus']) && !empty($advlist['text'])}--> <div id="ad_text" class="ad_text" > <table summary="Text Ad" cellpadding="0" cellspacing="0">$advlist[text]</table> </div> <!--{else}--> <div id="ad_text"></div> <!--{/if}-->

这段代码的效果是显示文字广告连接,模板里面涉及到编程相关方面的内容,属于混杂类型的模板,这种模板在制作的过程中需要网页美工了解程序各部分变量的含义,并且有一定的编程基础。 这种模板特点就是前台效果很容通过后台修改相应的参数实现,但不好的地方就是模板制作复杂,不易去修改。  我们再来看DedeCMS的模板:

《dd id=‘topbanner’》{dede:myad name=‘topbanner’/}《/dd》

我认识的CMS--织梦开发经验3389

我们的标签就非常灵活简单,只需要把织梦的模板标签加入到模板中就可以,系统会将相应的标签解析成HTML并且输出。这种标签特点就是不需要网站美工掌握程序开发相关知识,但不好的地方就是不可以通过后台简单的设置改变系统效果。

标签介绍,详见http://help.dedecms.com/v53/archives/templets/start/在修改页面效果的时候需要结合后台的数据、前台的模板2个方面才能输出相关的内容,好评赠送的dedecms模板标签详细介绍了模板的所有标签。

我认识的CMS--织梦开发经验3633

DeDeCMS程序的解析原理

很多人会问这是怎样一个过程呢?有过一定编程基础的人都知道,这些内容都是通过sql语句检索数据库,然后通过程序输出来的。 织梦的标签的出现,将繁琐的SQL语句以及PHP语句简单化了,都通过织梦标签的形式体现出来。

在标签解析的时候,DedeCMS首先判断标签的名称,然后进行解析,他会读取标签的属性及属性值,将这些属性值转化为sql语句相关的查询条件,然后将这些标签解析成SQL语句,查询出的数据再同底层模板变量进行替换,形成最终的页面效果。

 

② 内容模型

内容模型,不同的网站有不同的内容类型,例如新闻资讯类、文学站都是以文章内容类型为主,软件下载、手机游戏下载是以软件类型的信息为主,美女图片、手机壁纸站以图集类型的内容为主。也就是说不同类型的网站,他们的内容类型可能不相同,随着互联网的发展,现在很多的站点已经不局限于单一的内容类型,可能一个站点需要多个内容类型。我们访问资讯、新闻类的站点,主要看的就是2个部分的内容:标题、内容,大多资讯站点都是这样。 然后我们再看一个下载站通常看的是9个部分:文件类型、语言、软件类型、授权方式、操作系统、演示地址、软件大小、软件介绍、下载地址,无论是什么下载站,基本上这些内容都是通用的。

字段及模型  

我们在浏览的时候主要浏览这些内容,当然这些内容都需要站长或者负责人发布,我们在发布内容的时候就需要填写标题、内容这些,这些信息,我们称为“字段”,不同的字段有不同的类型。我们登陆系统后台,点击[核心]-[内容模型管理],我们会看到系统自带了一些内容模型,

模型应用  

有了这些字段之后,我们就很方便来组织自己的内容模型了,例如,我们要建一个培训类型的站点,通过观察我们可以大概了解培训类型的站点有2个部分的内容,第一个是培训信息的发布,第二个就是那个报名的功能了。 我们可以分析培训信息有以下一些字段:课程名称、主讲老师、时间地点、承办单位、培训费用、学员对象、课程流程、课程特色、课程内容。 然后我们就开始归纳下我们的字段,对应好字段的类型。在建模型之前我们需要掌握一些PHP及MySQL的基本内容,因为合理的规划字段对内容模型的制作会很有利。 我们添加完内容模型之后,就可以通过后台发布这个培训的信息,当然也可以设置这个模型可以让会员投稿,也就是让他们来发布培训信息,这样这个信息的内容就和那些培训机构联系上了。 当然,还有一个报名的功能,这个就需要我们的学员拥有熟练的PHP MySQL的知识,如果更深的了解DedeCMS程序可以通过自定义表单功能修改出一个报名的功能。

本文来自投稿,不代表科技代码立场,如若转载,请注明出处https://www.cwhello.com/2152.html

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

(0)
上一篇 2017年5月3日 09:47
下一篇 2017年5月4日 15:02

相关推荐

联系我们

QQ:951076433

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