dedecms第一天
CMS介绍
什么是cms
就是别人已经把数据库和基本的php代码设计好了。只需要我们填充静态页面和基本的数据,就可以做成一个网站。
能做那些网站
1 只能做一些,逻辑比较简单。
2 以展示内容为主,主要是静态页面。
3 不需要和用户进行太多的交互。
4 适合做企业的门户网站,素材网站等。
不适合做的网站
1 逻辑比较复杂的,和用户有较多的交互的。
2 比如,电商网站,社交网站,新闻类网站。
开源的cms系统有哪些
dedecms开源网站,偏向于美工使用的系统,操作起来比较简单,只需要套静态页面就行(适合于企业的门户网站)。
phpcms开源的,相对来说比较复杂,适合于php程序员做一些二次开发,做稍微大一点的网站。
开源的cms系统有哪些特点
(1) 强大的后台管理功能
(2) 网站的前台绝大部分页面真静态
(3) 采用mvc架构,便于扩展新的内容
(4) 强大的采集功能,便于采集其他的网站内容
(5) 强大的标签体系,便于在模板中取出数据
案例演示:http://www.dedecms.com/caseshow/e-gov/
安装dedecms
a 下载dedecms
b 下载完成的页面,放到网站的根目录中直接进行解压
c 访问dede进行安装
点击uploads之后出现安装的页面
设置数据库的密码和管理员的初始密码
安装成功之后的页面
网站的首页访问:
目录结构
使用编辑器将我们的项目搭建起来
a目录
用于存放网站生成的静态页面
data目录
用于存放数据库的配置信息文件和一些缓存的数据文件
dede目录
cms的后台主程序目录
include目录
用于存放dede核心文件目录,比如数据库类,文档的上传类,标签的解析类。
install目录
dede的安装目录
memeber目录
会员目录,主要是对会员进行增删改查的操作
plus目录
插件目录,如果后期我们有特别的需求,可以自己把相应的程序文件放在这里使用
templets目录
静态文件模板目录,用于存放我们的静态页面
uploads目录
完成一个新闻类型的网站
访问到dedecms的后台
http://localhost/dede-1/uploads/dede/login.php
创建模型
现在dede中默认有以上的模型,等到后续如果这些模型不能满足我们的需求我们可以自己创建。
模型值得就是,这个网站的内容的类型。
因为我们要创建一个新闻类型的网站,只需要使用使用文章模型即可。
创建栏目
顶级导航:体育新闻、娱乐新闻
体育新闻:足球新闻、武术新闻
娱乐新闻:明星轶事、明星八卦
a 打开后台创建栏目
b 进行网站顶级栏目的添加
添加娱乐新闻
c 顶级栏目添加之后的效果
d 点击增加子级为每一个顶级栏目添加二级栏目
二级栏目增加之后的效果:
e 栏目增加完成之后,刷线前台页面,即可看到效果
添加内容
a 为网站增加文章
b 添加具体的文档内容
c 文章添加完成之后的效果
d 在首页查看刚才添加的文章内容
生成静态页面
生成首页静态页面
生成栏目静态页面
生成内容静态页面
dedecms里面主要的表
dede_channeltype(模型表)
这个表主要使用与我们保存模型的
dede_arctype(栏目表)
deede_archives(内容主表)
dede_addonxxx(附加表)
每一个附加表,都是为了保存这个模型下面所独有的内容
表之间的关系
模型表与栏目表
由于每个栏目必然要确定是哪一个模型下面的栏目所以这里dede_channeltype模型表中的id字段对应的就是dede_arctype栏目表中的channeltype字段进行关联
内容主表与栏目表
内容主表的typeid与栏目表中id是对应的
内容主表和附加表
这两个表中的typeid是相对应的
开发一个电影网站(添加数据信息)
创建电影模型
a 创建模型的一个步骤
核心—->内容模型管理——–>增加模型
b 增加一个电影模型
增加成功之后的界面
模型所对应的附加表
添加属性字段
因为增加模型时,默认添加的字端,不能满足我们的需求,所以我们要自己手动的增加一些字段.
a 更改已经创建好的模型
b 添加主演字段
c 添加导演字段
d 增加年代字段
e 增加语言的字段
f 增加地区的字段
g 增加评分
h 评分人数
j 增加简介的字段
字段增加完成之后的效果’
查看已经创建好的电影模型附加表所对应的字段
创建电影网站栏目
顶级导航:我的电影、国产大片、原声影院、欧美大片、3D影院、公司简介、关于我们
我的电影:爱情、动作、科幻、惊悚、儿童、动漫
a 使用批量添加顶级导航栏目
b 增加导航栏目
将公司简介,和关于我们两个栏目添加成为文章类型的
增加之后的页面
添加具体电影数据
a 在内容管理中添加电影数据
b 增加电影数据:
制作电影网站首页
复制模板文件到项目中
a 将我们的模板复制到templets中
修改模板文件的默认风格
修改dede默认加载静态页面的路径
将a67模板首页改名,作为整个网站的首页
生成首页文件
a 在生成栏目下找到更新主页html页面的按钮’
b 选择a67下面的index.htm文件
c 首页更新成功
修改首页资源路径
此时的常量所代表的路径:
a 新建一个demo.html文件测试
b 重新生成首页文件,显示出路径
c 更新主页html之后重新生成的页面,路径的输出结果如下
d 将index.htm中的静态资源路劲进行修改
路径修改完成之后,重新生成主页html页面,并且进行访问
dede里面的标签
单标签
语法格式:
{dede:标签名称 属性1=属性值1 /}
例如:
{dede:global.cfg_templets_skin/}
{dede:include filename=”head.html”/} 表示包含一个外部文件
注意:很多单标签以global开头的变量值都是在common.inc.php这个文件中进行定义的
双标签
语法格式:
{dede:标签名称 属性1=属性值1 属性2=属性值2}
[field:字段名称/]
{/dede:标签名称}
注意:
1、dede后面要有一个冒号:
2、标签名和属性之间要有空格
3、属性与属性之间也要有空格分开
4、结束双标签要以斜线打头
5、[field:字段名称/]里面的字段名称,一般是双标签所操作的表里面的字段名称
举个栗子:
{dede:channel type=’top’ row=’10’ }
<li><a href='[field:typeurl/]’ [field:rel/]><span>[field:typename/]</span></a></li>
{/dede:channel}
每一个双标签都对应一个解析文件,通过该解析文件完成标签到PHP代码的转换。
解析标签为sql语句的,文件位置
所有的前段使用的取数据的标签都在php中被解析了
常用双标签
channel 取出栏目数据的标签
arclist 取出文章的标签
channnelartlist 取出栏目和栏目下的所有数据
标签的定影位置:
取出首页中的栏目数据
使用channel标签取出数据库中的数据进行显示:
举个栗子:
{dede:channel type=’top’ row=’10’ }
<li><a href='[field:typeurl/]’ [field:rel/]><span>[field:typename/]</span></a></li>
{/dede:channel}
type:top表示取出顶级标签
row:10 取出十条数据
a 使用demo.html页面进行测试
输出的效果如下:
b 在首页index.htm中使用channel标签,输出顶级栏目
c 重新生成index.htm页面
查看效果:
顶级栏目就显示完成
取出“我的电影”栏目的子栏目
这里我们还要使用channel标签
重新生成index.htm查看效果
多学一招:解析channel标签的使用,
每一个标签都是对应的一个PHP文件
在channel.lib.php中打印出执行的sql语句
打印到的效果如下:
这里虽然调用了标签,但是他的后面确实跟着一个php文件
取出如下电影数据(首页专题电影)
使用arclist标签实现
channelid属性
用来确定是哪个模型下面的数据信息以及确定哪个附加表进行关联
addfields属性
如果不使用addfields属性,则只会关联内容主表和栏目表进行数据查询,所以当我们需要查询附加表中的数据时就必须要使用addfields属性。这个属性标明附加表dede_addmovie需要使用的字段.
格式:addfields=“字段1,字段2,字段3”;//指定的是要从附加表中获取的字段信息列表。
注意:要想从附加表中取得数据那么就必须同时使用addfields属性和channelid属性
取出数据的代码: