官方基础教程:深度学习DedeCMS(多图)

2019-03-10 12:07:50来源: 中国站长站 阅读 ()

新老客户大回馈,云服务器低至5折

1基础内容

1.1什么是内容管理系统

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

传统意义说CMS是一个应用于创建、编辑、管理、检索以及发布各种数字媒体(如视频、音频)和电子文本的计算机软件。

1.2 CMS的分类

CMS系统的分类也很多,主要有以下3种:企业内容管理系统(Enterprise CMS)、网站内容管理系统(Web CMS)、组织单元内容管理系统(Component CMS),根据系统应用类型分为框架开发型和系统应用型。

目前由于国内网络技术水平还处于发展阶段,所以应用型网站内容管理系统受到国内用户极大的欢迎。

1.3 国内CMS程序

国内的CMS系统很多,大致有以下一些:

PHP类:织梦、帝国、PHPCMS、PHP168

ASP类:动易、科汛、风讯、5UCMS

国外CMS大多以PHP为主,如:drupal、joomla等

1.4 DedeCMS程序介绍

DedeCMS是基于PHP+MySQL开发,国内最早开源的内容管理系统,关于织梦产品本身的概况大家可以查看:http://help.dedecms.com/usersguide/intro.html

DedeCMS程序从2004年10月发布第一个版本,当初是由IT柏拉图个人开发,程序发布后逐渐受到大家的关注,很多人都开始使用织梦,了解了什么是CMS。

2007年11月15日织梦成立团队,从而使得DedeCMS从个人时代走向团队时代。(织梦公司站点:http://www.desdev.cn/index.html)

当然IT柏拉图本人也是深受大家关注的一个人物,是一个非常受人尊敬的技术人员,在织梦官方网站上面有他的一篇访谈:http://www.dedecms.com/html/CMS/20070531/38905.html,文章讲述了他和DedeCMS的一些故事,大家课后可以好好的阅读下,现在柏拉图是织梦团队核心技术人员之一,以后有机会我们邀请他来为大家讲课。

从组建团队之后DedeCMS继承了早期版本模板制作简单、程序操作简洁人性化等特点,并明确了模块化、模型化的概念,并推出了5.0版本,最新发布的5.3应当是这一系列概念的升华。

内容管理系统已经不单单是一个用于发布信息的程序,通过模块式的嵌入,可以让站点的结构组织更为丰富,互动性更强。今后将会成为一个Web站点的管理工具。

1.5 织梦的开源

这里特别需要说明下,何谓开源,简单来说从字面理解就是开放源代码,但国外程序开源标准很规范,他们有很多开源协议。

但国内由于技术起步较晚,以及结合国情,国内的开源程序很少有能够完全符合某个开源协议的,织梦所认为的开源有2方面:

1.程序开放,当然这个除了源代码不加密之外,程序应用方面的开放性也很重要,具体系现在:模板简单易用、规则可以导入导出、程序插件、模块便于分享、会员接口等;

2.开源的社区氛围,这个包含技术经验分享、程序(模块、模板)分享、任务分享,良好的交流、学习氛围,完善的用户培养体系;

目前国内开源方面能够做到这2个方面的寥寥无几,织梦也正努力朝着这个方向前进。

1.6 许可协议

同大多数国内开源程序一样,织梦的许可协议还是比较宽松的,大家可以通过以下链接进行学习:http://help.dedecms.com/usersguide/license.html,程序对个人站长要求还是比较宽泛的,在用户使用织梦程序建站的时候只希望能够保留相关版权链接,即Powered by DedeCMS即可。

1.7 如何选择CMS产品

如何选择CMS产品?这个问题一直困扰不少人,论坛、站长资讯也经常看到这方面的内容。

很多新人想建站,却被这个选择题困住了,甚至许多站长放着站点不去做,等待CMS系统的某个功能,程序发布后往往又大失所望,这些都是不可取的。

对于一个刚刚入门的站长这个是允许的,我看到很多PHP开发社区,新人们讨论最多的不是如何开发程序,而是在讨论选择哪一款PHP编辑器,但达人都知道,其实编辑器哪一款无所谓,适合自己开发的就可以,有人用UE、有人用EditPlus、有人用NotePad。站长也是一样,一开始也非常重视如何选择CMS产品。

选择一款CMS需要注意以下几个方面:1.。程序的易用性 程序简单易用,一个网站包含技术和运营两个部分,早期建站可能技术会占很大的比重,但如果有了各种网站程序,那就需要将技术方面的问题很大一部分转交于程序,所以如果在技术上花费更少的时间,就有更多精力投入到网站的结构、内容建设上面。

2.程序技术支持,一个有生命力的程序是需要有一个团队、一个公司为之服务,这里的服务包含用户对程序意见建议的收集、程序自身Bug的反馈,只有同用户即时沟通,并即时对程序进行更新升级才能使得程序不断更新,满足网站用户的需求。

3.完善的培训体系,一个很好的程序,不会用,再好的戏也出不来,所以如何让用户在最短时间内学会使用程序也是选择CMS程序的一个方面,这个培训体系中包含丰富的教学资源,如文本资源、视频资源等,还有包含丰富的教学活动,这样才能促进教学完成。

4.优秀的技术社区,一个活跃的技术社区对每一个站长都是很重要的,技术社区中技术人员可以交流、沟通,让新人能够很快的进入织梦这个大家庭当中,更迅速的学习织梦程序的使用,及网站建设。

以上3个方面才是选择CMS产品最为重要的几个部分,切勿听信他人去挖掘产品的某个功能做对比来选择CMS产品,当然选择CMS还有其他方面的因素,那些是商业类站点需要考虑的,在座大多为个人站长所以不做冗述。

就我个人而言我比较喜欢织梦程序,并非我是团队一员而这样说,以前选择织梦是因为模板机制太方便了,只要能懂HTML,就可以做模板,所以这个方面把我吸引了,目前还没有发现有其他建站程序有这样的模板引擎。

后来开始慢慢研究程序的功能、程序代码,发现织梦最大的特色就是简单易用,功能强大,比起那些花哨的作品,更对这款程序情有独钟。

在我接触DedeCMS的时候相关的文档非常少,只有柏拉图的一份标签文档以及一些残缺的使用手册,但大家的学习积极性非常高。

如同大家在开课之前群内讨论一样,大家相互帮忙,问题很快得到了解决,所以个人希望通过这一系列的教学能够再次给大家刮起学习的春风。

2 织梦学习

前面我们讲解了CMS的相关知识,及对DedeCMS有了一个大致的了解,那如何才能学习DedeCMS系统呢?接下来我们来介绍DedeCMS相关内容。

2.1 学习态度

在学习之前,我在这里又要唠叨几句:

首先是学习态度的问题,这个相信很多同学在小学、高中、大学都已经接受过老师的相关教导,学习者首先一定要端正自己的学习态度,一些基本的学习原则需要遵守,比如:不浮躁、谦虚等、尊敬师长,这些希望大家在今后的学习中也需要重视,不懂的可以提出来,但提问之前需要自己先去思考问题。

官方以后会组织一些版主、技术爱好者来开设一些理论性的讲座,探讨学习方法、学习经验,希望大家能够尊敬每一位讲课老师,可能有的老师讲的不好,可以在课后提出意见和建议,切勿破坏课堂纪律,这部分的内容我们会在以后的培训过程中列出来,希望大家遵守。

我们织梦这样的培训,是一种开放式的培训,我个人认为“能者为师”,只要你认为自己在某个方面比大多数人都了解,并且拥有一种开放、分享的心态,那你可以来担任大家的老师,为大家讲课,并且织梦的用户是非常欢迎这类的讲师的。

2.2 学习目的

最后就是学习目的,因为现在织梦这方面师资力量不够,无论是从课程种类还是内容上都不够丰富,一方面我们呼吁更多人加入织梦讲师的行列,另一方面希望大家在学习之前对自己有一个明确的定位,找到自己兴趣所在,想学什么,要学什么,切勿抱着很浮躁的心态去学习。

目前我们的授课形式初分系列课程、讲座以及讨论3个部分,这些课程信息我们都会发布在织梦技术论坛的[站长培训]版块。

并且我们会收集每次讲课的学员信息进行统计,这部分数据我们不会公布出去,大家可以放心填写。

初期主要是理论部分的教学,可能比较枯燥,并且多以QQ群形式做讲课,随着我们教学课程的开展,经验的积累,我们将会推出新的教学方式,加入视频教学、语音教学等。

2.3 学习类型

下面我们就可以进入DedeCMS的学习阶段。我们首先看下面一个图:

 

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

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

2.代码,也就是DedeCMS程序代码,这部分涉及到功能上面的开发,主要是模块、插件以及系统部分的二次开发,精于此道应该是程序员。

以上两个部分是是技术型的学习,这部分学习需要了解很多网站建设方面的技术知识,一般技术人员学习这方面不是问题。

但对于新人或者个人站长可能比较困难,在我们建站中遇到的“我需要一个XXX功能”“我需要这个页面变成XXX效果”这类问题都是需要有这方面的学习才能够实现。

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

当然后台很多的操作也需要同学们具备基础技术知识,例如你在使用到模板修改的时候,尽管可以在后台操作但你仍然需要有一定的HTML的基础,如果你使用数据库替换的功能,你就需要有一定的MySQL基础,所以能够把系统后台整个弄通的,基础技术知识也需要扎实。否则缺一不可。

2.4 详细分类

2.4.1 网站美工

如果我们为自己定位一个美工的话,就需要对织梦模板方面了如指掌了,所需要学习的内容有以下几个方面,如下图所示:

 

这里Photoshop主要是指图像设计,当然也可以是其他图形图像工具,当然掌握Javascript、HTML、CSS可以借助使用网页制作工具来完成,像Dreamweaver这种工具也是需要学会使用的。

2.4.2 程序开发

如果定位一个程序员,那就需要了解织梦相关程序开发方面的知识,相关内容如下图所示:

 

2.4.3 后台操作

在DedeCMS后台使用方面,我们也有不同的操作技能,大致有以下几个方面:

 

我们从上面几个部分很容易了解到,织梦整个程序不单单就是一个CMS网建系统那么简单,如果要掌握DedeCMS是需要各方面的知识进行学习,并且各方面都是相互关联的。

例如你在后台希望使用到采集,你必须要懂HTML,如果你想使用批量维护,那你必须懂得MySQL,如果你想修改模板那可能需要用到CSS、Javascript,如果你想修改功能,那就需要PHP。

2.5 学习疑问

可能很多学习者会疑问,为什么DedeCMS不能和Discuz论坛一样,不需要任何技术,会安装程序就可以建个论坛,安装模板只要上传一下,在后台指定下就全部搞定。

这个原因我主要概括为2点;1.因为织梦程序大多是以门户形式出现,也就是说织梦是一个站点的入口,一个站点第一印象很重要,界面必须突出个性,必须美观、大气,所以模板种类多,变化多,并且CMS程序涉及到的内容也够也多,频道、封面、列表、内容、插件、模块…但全部这些又必须保留简单易用这些特性,一个通用的模板安装安装方法很难实现;

2.程序职能不同,CMS主要侧重的是做内容展示,更侧重内容发布、显示,我们看内容同时,也会更多去关注网页的整体结构、布局形式,而BBS这类程序更侧重的是社区气氛的建设,往往大家更关注的是论坛里面人。

这因为有这2个特点,就决定了CMS系统不单单就是一个简单应用工具,而是一个需要用户去学习、掌握的“操作系统”。

3 技术介绍

接下来我们就以DedeCMS的2个部分的内容进行下介绍,1.模板引擎;2.内容模型。

3.1 模板引擎

3.1.1 模板引擎介绍

首先在学习模板引擎之前我们先连接下什么是模板,我们把程序比作是一个人的身体,那模板就是皮肤,一个乞丐如果西装革履,那看上去就不像一个乞丐,但还是一个乞丐。

同样的程序,你可以通过更换模板使得网站界面看上去就不相同。现在主流的程序都有自己的模板引擎,例如PHPCMS、Discuz等,不同的模板引擎会有不同的模板制作方式,而且难易度也不一样。

3.1.2 模板引擎对比

我们来看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》

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

3.1.3 标签介绍

接下来我们来拿一个标签做讲解,来介绍这个标签是如何工作的,我们拿用的最多最经典的{dede:arclist/}标签做说明,整个标签结构如下图所示:

 

这里介绍了这个标签的起始标记、标签名称、属性、属性值、以及底层模板和底层变量。

这里我们有详细的标签说明,大家课后可以阅读这部分的内容:http://help.dedecms.com/v53/archives/templets/start/

我们将这段标签代码放到系统后台的[模板]-[全局标记测试]中,将标签输入,点击“提交测试”按钮,发现解析到以下的内容:

 

3.1.4 解析原理

很多人会问这是怎样一个过程呢?有过一定编程基础的人都知道,这些内容都是通过sql语句检索数据库,然后通过程序输出来的。

织梦的标签的出现,将繁琐的SQL语句以及PHP语句简单化了,都通过织梦标签的形式体现出来。

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

 

3.1.5 标签相关

所以在修改页面效果的时候需要结合后台的数据、前台的模板2个方面才能输出相关的内容,当然我们这里讲解了最基本的标签,官方已经将这些标签的说明列出来了,大家可以访问:http://help.dedecms.com/v53/的模板标签参考部分。

3.2 内容模型

3.2.1 内容模型概念

内容模型,不同的网站有不同的内容类型,例如新闻资讯类、文学站都是以文章内容类型为主,软件下载、手机游戏下载是以软件类型的信息为主,美女图片、手机壁纸站以图集类型的内容为主。

也就是说不同类型的网站,他们的内容类型可能不相同,随着互联网的发展,现在很多的站点已经不局限于单一的内容类型,可能一个站点需要多个内容类型。

我们访问资讯、新闻类的站点,主要看的就是2个部分的内容:标题、内容,大多资讯站点都是这样。

然后我们再看一个下载站通常看的是9个部分:文件类型、语言、软件类型、授权方式、操作系统、演示地址、软件大小、软件介绍、下载地址,无论是什么下载站,基本上这些内容都是通用的。

3.2.2 字段及模型

我们在浏览的时候主要浏览这些内容,当然这些内容都需要站长或者负责人发布,我们在发布内容的时候就需要填写标题、内容这些,这些信息,我们称为“字段”,不同的字段有不同的类型,常用的字段类型有以下一些:

 

具体这些字段怎么使用,我们会在今后的课程中进行讲解。

我们登陆系统后台,点击[核心]-[内容模型管理],我们会看到系统自带了一些内容模型,这些模型可以用于我们搭建不同类型的站点:

 

3.2.3 模型应用

有了这些字段之后,我们就很方便来组织自己的内容模型了,例如,我们要建一个培训类型的站点,通过观察我们可以大概了解培训类型的站点有2个部分的内容,第一个是培训信息的发布,第二个就是那个报名的功能了。

我们可以分析培训信息有以下一些字段:课程名称、主讲老师、时间地点、承办单位、培训费用、学员对象、课程流程、课程特色、课程内容。

然后我们就开始归纳下我们的字段,对应好字段的类型。在建模型之前我们需要掌握一些PHP及MySQL的基本内容,因为合理的规划字段对内容模型的制作会很有利。

我们添加完内容模型之后,就可以通过后台发布这个培训的信息,当然也可以设置这个模型可以让会员投稿,也就是让他们来发布培训信息,这样这个信息的内容就和那些培训机构联系上了。

 

当然,还有一个报名的功能,这个就需要我们的学员拥有熟练的PHP+MySQL的知识,如果更深的了解DedeCMS程序可以通过自定义表单功能修改出一个报名的功能。

当然,因为本次课程为基础课程,这些内容我们就不详述。自定义表单功能大家可以参考下我们教学登记的那个程序:http://www.dedemo.cn/plus/diy.php?action=post&diyid=3

当然关于内容模型,我之前也发布了一篇使用教程,如果大家有兴趣想进一步了解下他的功能,可以查看:http://help.dedecms.com/v53/archives/extend/channel/

4 总结

至此,我们本节课全部结束,这节课我们回顾下,主要讲了以下内容:

CMS的概念及分类,并简述了DedeCMS及国内其他CMS系统;

介绍了如何选择CMS系统;

学习原则,以及织梦今后的培训相关事项;

DedeCMS学习类型及技术划分;

DedeCMS模板引擎原理;

DedeCMS内容模型基本概念及应用。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:网站内容为王 网站的编辑如何来发布新闻

下一篇:股世英雄的网络推广经验之明确主题做推广