夺命雷公狗---DEDECMS----2快速入门之玩转dede四大表之间的关系
比如一个小说网站,网站里面有很多类型让我们的小说网他里面有很多种分类,如:
玄幻....奇幻....仙侠....武侠....文学....异界....都市....军事....历史....灵异....悬疑....游戏....科幻....职场等等的分类
我们在dedecms里面一般管这些类别叫做栏目,如果我们想添加一个类别只需要在后台增加一个栏目即可,如下所示:
这样即可创建一个栏目了,如此类推,我们多创建几个
然后到前台看下,效果果在导航条里面发生变化可,效果如下所示
我们有了小说分类后,那么下一步当然是存放小说进去嘛,要不然我们拿什么去赚小说迷们的钱呢?嘻嘻
然后保存即可
我们来看看是否已经保存成功可,效果如下图所示:
我们来首页看下效果:
真的保存成功了,我们点击进去看下效果如何:
我们再按照那么方法添加多几部小说,如下所示:
已经添加好了,我们在到首页看下效果如何:
我们只需要在后台添加问斩之后我们的首页里面几乎都帮我们完成了一大部分的工作量了,而且随便点击一个都是能跳转到刚才更新的小说里面去的
我们dedecms主要就是依赖于四张表,他们分别是:
dede_channeltype(模型表)这张表是他们官方在这里设计了N多个模型,不管那个栏目都是属于一个模型下的。
我们没次发布一篇新的文章时候都要选择一个栏目,这些栏目都是一个模型下的一个子类
dede的设计者认为每个栏目都是属于某个类型,比如我们刚才创建的玄幻小说,奇幻小说,仙侠小说等都是属于文章类型的,所以他们的信息将会都存放到dede_channeltype这张表。
设计者们给我们定义了5个模型,如果不够我们也可以自己给自己定义一个模型。。
第二张表就是dede_arctype(栏目表)这张表里面记录了我们所有的栏目信息
我们所有增加的栏目,不管属于那个模型下的栏目,他都会被保存到dede_arctype这张表里面去。
栏目表和模型表他们是通过channeltype字段进行关联的,从而表示这个栏目是属于那个模型下的
我们再回到dede_channeltype模型表里看下id为1的是什么模型即可判断出这个栏目是属于那个模型下的了:
所以他们的关联关系就更加明咯,嘻嘻。。。
第三张表就是dede_archives(文章主表),我们刚才新增加的小说在这表里面可以详细的看得出来,包括缩略图都有详细的存储
这张表不管你在那个模型下和那个栏目下发布了新的文章或者内容都会被存储到这张主表里面去,因为他们都有共同的信息,如标题.编号.点击率等等。。。
所以将共有的字段做成了一张表dede_archives(主表里面)
主表和栏目表他们也是有关联关系的,(dede_archives)主表的typeid关联到(dede_arctype)栏目表的id。。
dedecms的设计者还给我们设计了一个更加便捷的方法,比如我们想知道我们的“斗破苍穹”小说是属于那个模型下的,
也可以通过(dede_archives)主表的channel字段关联到(dede_channeltype)模型表的id字段。。。
第四张重要的表是dede_addonarticle(附加表)
dedecms的设计者认为不管是文章或者是商品他们都会有相同的信息,他们被存放到(dede_archives)主表里面,
但是比如我们常见的小说网站,小说有作者是谁,再但是如果是商场里面,商品就不一定有作者是谁了。
所以他们就给每个模型生成一个对应的(dede_addonarticle)附加表。他们的表明规则是:dede_addonXXX(XXX表示模型)
(dede_addonarticle)附加表里面的id指向(dede_archives)主表里面的id
(dede_addonarticle)附加表里面的typeid指向(dede_arctype)栏目表里面的id
夺命雷公狗---DEDECMS----2快速入门之玩转dede四大表之间的关系的更多相关文章
- 夺命雷公狗-----React---12--添加类和样式
<!DOCTYPE> <html> <head> <meta charset="utf-8"> <title></ ...
- 夺命雷公狗-----React---11--添加css样式的方法
<!DOCTYPE> <html> <head> <meta charset="utf-8"> <title></ ...
- 夺命雷公狗-----React---10--组建嵌套进行数据遍历
先写一个组建... 然后进行嵌套.. <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- 夺命雷公狗-----React---9--map数据的遍历
比如我们要实现的是这种效果: 用这种方法来写,她只能写死在哪,没啥意思,所以我们定义一个数据,然后来测试下map方法对她遍历出来的数据 <!DOCTYPE html> <html l ...
- 夺命雷公狗-----React---8--react官方提供的组建实现双向绑定
首先要引入她.. <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- 夺命雷公狗-----React---7--组建的状态props和state
props:组建初始要渲染的数据,他是不可以改变的 state:组建状态发生改变,调用render重新渲染数据 我们来写一个例子: <!DOCTYPE html> <html lan ...
- 夺命雷公狗-----React---6--props多属性的传递
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 夺命雷公狗-----React---5--props对象的传递
提示:props的值是不可以改变的... <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- 夺命雷公狗-----React---4--props变量的传递
提示:props的值是不可以改变的... <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
随机推荐
- Prism&MEF构建开发框架 (三)
菜单管控模块EntityFW 菜单的加载采用MEF技术,程序实现思路: 1 .主菜单加载页面MainMenuView.xaml指向MenuRegion 2. 菜单Item点击及内容加载,采用订阅模式, ...
- SQL Server批量数据导出导入Bulk Insert使用
简介 Bulk insert命令区别于BCP命令之处在于它是SQL server脚本语句,它可以将本地或远程的文件数据批量导入数据库,速度非常之快:远程文件必须共享才行, 文件路径须使用通用约定(UN ...
- [LeetCode]题解(python):093 Restore IP Addresses
题目来源 https://leetcode.com/problems/restore-ip-addresses/ Given a string containing only digits, rest ...
- busybox sz rz命令
之前板子和电脑之间传送文件的时候都是通过tftp网络下载.所以找了一下在文件系统中使用串口上传文件的方法. rz和sz命令使用zmoderm协议,SecureCRT也用提供这个命令的支持.由于是串口, ...
- 配置maven环境
第一步:安装maven,安装maven最简单,直接将maven的解压文件放入本地某目录下即可,无需手动安装 第二步:eclipse中导入maven项目后,会后错,或maven无法使用,则需要进行mav ...
- .net中如何使用cookie
比如建立一个名为aspcn,值为灌水小鱼的cookie HttpCookie cookie = new HttpCookie["aspcn"];cookie.Value = &qu ...
- 圆角边框_css控制形状
border-radius:500px 来让整个图像变成圆形. border-top-left-radius: 6px;(左上角圆角) border-top-right-radius: 6px;( ...
- 我就是认真:Linux SWAP 深度解读(必须收藏)
我就是认真:Linux SWAP 深度解读(必须收藏) http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=2651660097& ...
- 安装Win7或者XP系统用虚拟光驱加载Win7或者XP镜像 iso文件xp win7wim文件
安装Win7或者XP系统用虚拟光驱加载Win7或者XP镜像 iso文件xp win7wim文件 http://pcedu.pconline.com.cn/teach/xt/1201/2657834_8 ...
- nginx学习
nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源. 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的. 看了nginx源码,发现这是一份完全没 ...