• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

DedeCMS 二次开发(一)CMS介绍、安装、目录结构、取出数据、表、表关系、标签

Mr.Lee 由 Mr.Lee
2018年5月20日
在 DedeCMS, 二次开发
0
0
分享
1
浏览

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属性

取出数据的代码:

 

标签: CMS介绍取出数据安装标签目录结构表表关系
上一篇文章

DedeCMS二次开发(二)完成电影评分榜、输出栏目数据、制作头部文件、制作栏目模板页

下一篇文章

yii2 框架 安装、目录介绍、路由、模型、视图、控制器、留言板案例

下一篇文章
yii2 框架 安装、目录介绍、路由、模型、视图、控制器、留言板案例

yii2 框架 安装、目录介绍、路由、模型、视图、控制器、留言板案例

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3