学dedecms一段时间了,把我的入门体会和大家分享一下。
什么是dedecm
cms(内容管理系统):现在有各种内容模型,如书评(包括书名,出版社,评论等字段)。cms一般有用户后台,网页的用户可以在后台中发表并分享自己的信息,如书评,并增删改之。cms就是这样一个提供发表,分享和修改的网站。
是一个产品:产品这个词区别于框架,框架就是同类开发中相同的地方,是用来加快开发进度的,给开发者保留的自由比较多;而产品说明dedecms不需要做太多的开发,dedecms大部分的功能已经做好,用户只要修改并配置一下就能使用了。可以类比一下discuz,它也是一个产品,一个论坛系统。
怎么使用dedecms?问题的答案取决于用dedecms的目标
1不会做网站,但想有一个网站。这时一般下载一个和需求相近的网站模板(样式),通过后台管理器创建栏目,修改一下关键字(如公司名),就能有一个网站了。我的认为这样做出来的网站不会太好。
2会一点技术,像在dedecms的基础上修改,完成项目,我认为这一点很适合刚开始编写网站的新手。
懂一点html,js,css,但不会架构网站。现在考虑想要写一个qq空间,具体的功能织梦已经写好了,你想用js和css改善一下用户界面,写一个空间装扮,这是你要做的是编写网页模板。dedecms就提供了方便的数据访问功能,访问数据仅需通过dede标签(类似于html标签)。也就是说,要写一个网站,仅需要写出一个个html页面,为之配上js和css就行了,仿佛像写静态网页,但却有动态功能。但是dedecms并没有简化写js和css的过程,在一般网页中写js和css的方法也能应用到dedecms的框架中,也就是说,从其他地方下载的js和css文件能方便地放入dedecms中。
dedecms提供的标签功能不够,想自己用标签封装功能功能--扩展标签,也可以自己写一些插件,这就要写php文件了。但不用怕,可以模仿系统自带文件。
3想快速赶出一个网站项目,dedecms网上也有不少模板、插件供下载。但前提是懂得html,css,js和php,并比较熟悉dedecms的内部结构。
4dedecms本来就是很好的网站架构实例,对于一个刚刚学完php语法的fresher,还不知道怎么用这些语法变出一个网站,能看到一个完整的代码组织,是入门的好途径。里面的一些机制如缓存等都值得思考和学习,但这就有点深了,慢慢来吧~~
千里之行,始于足下。上面讲的东西要循序渐进,以下来说说刚开始学dedecms要干什么(基本是第二步里的事)。
知识储备
1html,如果搞前端,还要会css和js;搞后台的还要会php,mysql。这些始终都要学的。
2如果想做到第三步,可以找本书学smarty模板,不少php教材都有一章讲smarty模板。通过书本,能更完善的认识模板的概念,学dedecms时就不会那么痛苦。
开始接触dedecms
1从官网上下载默认模板,安装。安装一个数据体验包,这样才有调试数据。
2把玩把玩前台,更重要是默认网站的后台。发现不编程也可以创建栏目,了解各个文件夹的作用,同时上网查一下新名词。
使用后台时可能会遇到一些不易理解的名词,以下列出一些解释,供查阅,现在没有必要记住它们:
标签:形如html标签,由标签名,属性值和标签间的InnerText组成(如<p>123</p>中的123)。dedecms自定义了许多标签,格式如如{dede:global name=cfg_webname/}
底层模版(InnerText):对于多条记录的模版输出,用户(或开发者)手工去指定单个记录的样式。就是块标签里的InnerText,利用到[field:name]。
默认底层模板:templets/system中的那些,一个默认放入对应块级标签中的底层模板。在块级标签内不写任何东西就会默认调用。
命名空间:就是标签里一开始的记号,如{dede:var.name}中的dede。
网页模板/模板:具有具体的html框架,调用标签来填充具体数据的htm文件。如templets中的htm文件。
栏目(type):一级导航,二级导航一类的,一个栏目里可能有许多文章和图片等。
频道(channel):频道是指不同的栏目类型。如文章模型,软件模型,图集模型,视频模型,FLASH模型等等。官方的定义是:频道指内容模型,网站的栏目都是基于不同的模型建立的。比如漫画和风景都可以用图片频道产生。
模板,插件和模块的区别:模板就是templets里的html,规定了文章,封面等的显示方法,有点类似于背景。插件就是一些小的实际的程序的集合,如vote(投票)插件,它可以简单的安装和删除,不过安装和删除仅去去掉数据库的索引记录,并非进行真正的安装和删除。模块和功能这个词是对应的,插件和基本的代码完成的都是零散的功能,而一个木块能相对自治地完成一组相关的功能,如group模块。
视图类:视图类是包含一个编译/解析引擎对象的类,它封装了编译/解析引擎对象,作为视图,而且扩展出新的特性。
生成:带有标签的htm页面和php文件经解释后生成静态的html文本,存放在(根目录)/a下。
采集:将别人网站上对自己有用的文章等信息转到自己网站上。dedecms有自己的采集器。
之后就可以开始学dede标签语法了,只要把dede标签写在html文档中,就能轻松访问到数据库
可以看一下这篇文章
推荐几本手册和一些社区
5 站长百科
学习的过程中可以按自己的程度,了解网站中各文件夹的组织,以及网站对应的数据库。
快速测试网页模板(带dede标签的html文件)的方法
根目录/index.php 中SetTemplet附近改成想要的模板。如
$pv->SetTemplet//($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
(dirname(__FILE__) . "/templets/default/myhtml.htm");
(要注意保存原来的路径,以备还原)
关于dedecms入门还可以看一下这些文章: