学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文档中,就能轻松访问到数据库

可以看一下这篇文章

推荐几本手册和一些社区

1织梦cms模板制作手册

2官网帮助中心

3dedecms使用手册

4dedecms文章社区

站长百科

学习的过程中可以按自己的程度,了解网站中各文件夹的组织,以及网站对应的数据库。

快速测试网页模板(带dede标签的html文件)的方法

根目录/index.php 中SetTemplet附近改成想要的模板。如

$pv->SetTemplet//($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
(dirname(__FILE__) . "/templets/default/myhtml.htm");

(要注意保存原来的路径,以备还原)

关于dedecms入门还可以看一下这些文章:

1

(转)dedecms入门的更多相关文章

  1. dedecms的入门使用

    前段时间(其实也很远了)一直在学习dedecms,这里对前段时间的学习做一个总结. dedecms学习网址:http://help.dedecms.com/v53

  2. 读DEDECMS找后台目录有感

    本文作者:红日安全团队——Mochazz 早上看了先知论坛的这篇文章:解决DEDECMS历史难题–找后台目录 不得不说作者思路确实巧妙,作者巧妙的利用了Windows FindFirstFile和织梦 ...

  3. 织梦网站dedecms防止挂马的思路

    DedeCms做为国内使用最为广泛使用人数最多的CMS之一,经常爆出漏洞,每个漏洞的爆出,影响都是一大片,轻则被人挂广告.弹框,重则服务器成为肉机,宝贵数据丢失.那么有什么办法可以提高DedeCms的 ...

  4. 【shell】shell脚本入门

    1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚 ...

  5. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  6. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  7. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  8. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  9. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

随机推荐

  1. BZOJ 1087 互不侵犯

    Description 在\(N \times N\)的棋盘里面放\(K\)个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共\(8 ...

  2. [BZOJ 1033] [ZJOI2008] 杀蚂蚁antbuster 【模拟!】

    题目链接: BZOJ - 1033 题目分析 模拟!纯粹按照题目描述模拟! 这是一道喜闻乐见的经典模拟题! 我一共写了2遍,Debug 历时2天的所有晚自习 ... 时间超过 8h ... 我真是太弱 ...

  3. [LeetCode#82]Remove Duplicates from Sorted Array II

    Problem: Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? F ...

  4. Building a Space Station(kruskal,说好的数论呢)

    Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3820   Accepted: 1950 Description You a ...

  5. poj 3007 Organize Your Train part II(静态字典树哈希)

    Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6700 Accepted: 1922 Description RJ Freigh ...

  6. Javascript 面向对象编程(一):封装 by 阮一峰

    <Javascript高级程序设计(第二版)>(Professional JavaScript for Web Developers, 2nd Edition) 它们都是非常优秀的Java ...

  7. 【转】Android驱动开发之earlysuspend睡眠模式编程总结

    原文网址:http://blog.csdn.net/bigapple88/article/details/8669537 (1)添加头文件: #include <linux/earlysuspe ...

  8. hdu 4705 dfs统计更新节点信息

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4705 #pragma comment(linker, "/STACK:16777216&qu ...

  9. Freemarker数字转时间

    使用freemarker模板,展示一个时间字段,数据库保存的是毫秒.在网上找了许多文章,发现都是针对date或者是直接类似"1999-09-09"这样已经成型字符串进行操作的,心中 ...

  10. Redis 与 Memcached 的区别

    [转]Redis 与 Memcached 的区别 传统 MySQL + Memcached 架构遇到的问题     实际上 MySQL 是适合进行海量数据存储的,通过 Memcached 将热点数据加 ...