dedecms原理及使用
dedecms原理
简单使用
现在老板要求你做一个文章管理系统,栏目(类别)包括(武侠、爱情、音乐...) ,每个栏目(类别)有对应的文章,文章已经给你准备好了,请你在30分钟搞定该网站,怎么样?
步骤:
1、登录到dedecms后台创建了三个栏目(类别)
后台->核心->网站栏目管理->添加顶级栏目
添加三个,刷新首页即可看看.
2、给每个栏目添加对应的文章给武侠文章栏目添加文章
后台->核心->普通文章->添加文章 (缩略图代码可以拿出来用)
这里可以添加文章, 刷新首页面就看看
当你点击 某个文章的超链接时,就可以看到对应的文章内容
3、创建栏目页
后台->生成->更新栏目页
这时,我们的三级页面,全部走通.
细节问题:
1、dede设计者认为,每个栏目都属于一个模型 武侠文章|音乐文章=>文章模型,一个内容 模型,对应多个栏目 dede_channeltype 在默认情况下有提供5个内容模型
2、dede设计者认为,所有的数据(电影,文章,软件,新闻)属于一个栏目,为了记录这个栏目信 息,放入dede_arctype表
字段名 |
含义 |
Id |
编号 主键 |
Topid |
上一级id是谁 0代表顶级栏目 |
1、dede的设计者认为,所有的记录(新闻,文章,软件。。)都应该把数据放入到表 dede_archives[主表],还有一部分数据放入对应 从表
2、dede设计者认为,不管是什么样的数据,(新闻,文章,软件..)他们有相同字段,把相同的 字段放入主表(dede_archives),同时认为,每种数据,都有自己独特的字段,于是把这些 信息,放入从表。比如:
新闻news 从表:dede_addonnews
商品goods 从表:dede_addongoods
3、当我们在后台,创建一个栏目时,
(1) 就会在 dede_arctype 表中记录这个栏目信息
(2) 同时,会创建一个对应的文件夹,栏目文件夹 dedecms/a/栏目文件夹/
4、我在某个栏目,创建一条记录时,
(1) 该记录会保存到 数据库中(dede_archives+对应从表)
同时成静态页面 dedecms/a/栏目文件夹/
实例1:添加内容管理
如果现在我们要做的是电子商务网站,卖我们的商品,这时用文章这样的形式来管理还合适吗? 但是内容管理没有商品,内容模型有商品
在dede后台的规定, 如果一个内容模型,没有一个栏目,则不会出现内容添加的选项.
隐藏栏目 隐藏内容待审核
提出一个严肃的问题. 首页如何静态化.
在dedecms 中栏目页面和首页面需要手动点击生成静态页面.
栏目页面的静态化 : 后台->生成->更新栏目页 (自动生成对应的静态页面)
首页面的静态 : 后台->生成->更新首页面( index.html)
实例2:内容模型添加字段
在添加某个商品的时候,我们希望多两个信息,就是付费方式,还希望多一个邮资信息,我们又该怎样处理?
dedecms允许用户自定义字段,操作如下: 后台->内容模型管理
在添加某个字段信息的时候,dede提供了一个叫联动类型的字段,常用的联动信息已经提供.地区. 比如给商品添加一个邮寄到地址
后台->内容模型管理->增加一个联动类型(注意,字段的名称,要和dede给出名字一致)
后台->内容模型管理->联动类别管理
实例3:更新栏目列表
请各位同学看看,这里我们有一个问题,就是当你点击武侠,爱情,电器的时候,会找不到对应的页面,这是为什么呢?
当我们点击首页的某个栏目,可以进入到对应的栏目列表页,需要我们手动的点击更新栏目页:步骤:后台->生成->更新栏目HTML
注意 :我可以选择你要更新的哪个栏目
说明:当我们点击更新栏目HTML,就会在该栏目对应的 目录
dedecms/a/栏目文件夹/ 生成两个静态文件 index.html 还有 xx_list.html
原理示意图:
增加网站内容步骤
现在我要上一个租赁信息, 需求是内容模型自己创建 myhouse
(1) 创建自己的内容模型 myhouse
后台->内容模型管理->填写你的信息, 最后点击创建
结果: 在 dede_channeltype 表中有这个信息; 会创建附件表 dede_addonmyhouse
(1) 根据自己的需求,来创建自定义的字段
后台->内容模型管理->点击你的某个模型->字段增加, 添加自己的信息
结果: 在 dede_addonmyhouse 表中就会有一个新的字段创建, (alter table 表名 add cloumn 字段名 类型)
(2) 创建一个具体的栏目
出租房屋/求租房屋
到 后台->网站栏目管理 ->增加一个栏目
刷新后台页面:
(1) 增加信息
点击内容管理->房屋信息
根据实际情况来填写内容.
(2) 然后更新首页面和栏目页面HTML
后台-> 生成 -> 更新首页面HTMl ....栏目页面HTML
每个栏目会对应两个目标文件 栏目模板,内容模板
注意: 当我们更新后,求租房屋这个 栏目页生成 ( 因为你还没有提供 对应的栏目模板,因此默认使用list_default.htm) 对应内容也会使用默认模板(这时可能提示错误)
自定义两个模版然后更新html看静态页面 大小都是0kb
(3) 我们需要美工,至少两个模板
列表模版list_XXX.htm
内容(文本)模板 article_XXX.htm
到此就可以把信息大量的创建.
dedecms的标签使用
dedecms 标签的使用
在后台->模板->默认模板管理 ,点击 修改,就可以看到 dedecms提供的标签.
去掉广告.
思路:
因为我的首页面的静态页是通过 模板创建来,到的首页面对应的模板文件,把模板文件中关于广告的代码,去掉即可. dedecms/templets/default/index.htm 模板
广告标签是 {dede:myad} 去掉, 如果 index.htm 文件中 include其它模板文件,则需要把引入的模板文件的 myad去掉.
找到模板文件去掉广告(某个栏目对应列表页)
找到该栏目的对应的模板文件.可以到 后台->栏目管理->看看某个栏目的
模板是哪个?然后修改.
系统学习dede标签
学习方法:写一个自己的模版 写各种标签看效果
把主页模版改成自己的
(1) 单标签
形式 : {dede:标签名 参数=’值’ /}
举例 :includelude filename=’head.htm’/}
{dede:inc
(2) 双标签
形式: {dede:标签名 参数=’值’ ...} 内容 {/dede:标签名}
举例:
<!--取出网站的导航栏目-->
<!--type='top' 表示取出顶级栏目 row表示取出多少行-->
<!--dede:channel 标签 相当 select ? from dede_arctype where ? 去调用一个标签库类文件 channel.lib.php
--->
{dede:channel type='top' row='8'}
[field:typename/]
{/dede:channel}
(3) 如何对取出的字段内容,进行简单的处理
[field:字段名 function=’函数名(@me)’]
我对取出的栏目信息,进行md5加密.
案例 :
{dede:channel type='top' row='8'}
[field:typename/]--[field:id/]--[field:typename function='md5(@me)'/]
{/dede:channel}
(4) 对取出的内容做一个简单的业务处理
[field:字段名 runphp=’yes’]
//简单的业务逻辑.
[/filed:字段名]
举例说明
[field:字段名 runphp=’yes’]
@me = (@me==’’) ? ‘空的’ : @me
[/filed:字段名]
(5) 现在我希望有自己的一个函数,该函数可以,在字段信息后面添加一个 hello, 并返回.
形式是
[field:字段名 function=’函数(@me)’/]
案例:
<br/>
****如何在字段上使用自定义函数***********
[field:typename function='myfun1(@me)'/]
☞ myfun1这个函数要写到
dedecms/include/extend.func.php
☞ dede标签不嵌套使用.
(6) 如何在dede中使用全局的变量
在dedecms/include/common.inc.php 文件中定义了很多重要的全局变量的,我们可以使用dede标签进行引用
基本使用方法:
{dede:global.全局变量名/}
如果需要在{dede}标签内部使用
[field:global.全局变量名/]
☞ 支持自定义全局变量.
案例:
****如何在字段上使用自定义函数***********
[field:typename function='myfun1(@me)'/]
<br/>
[field:global.cfg_softname/]-[field:global.my_global_val/]
{/dede:channel}
<br/>*********<br/>
{dede:global.cfg_soft_lang/}--{dede:global.cfg_softname/}
转载于:https://www.cnblogs.com/ybygb-geng/p/10001588.html
dedecms原理及使用相关推荐
- (转)DEDECMS模板原理、模板标签学习 - .Little Hann
本文,小瀚想和大家一起来学习一下DEDECMS中目前所使用的模板技术的原理: 什么是编译式模板.解释式模板,它们的区别是什么? 模板标签有哪些种类,它们的区别是什么,都应用在哪些场景? 学习模板的机制 ...
- DEDECMS模板原理、模板标签学习
(转)DEDECMS模板原理.模板标签学习 - .Little Hann 本文,小瀚想和大家一起来学习一下DEDECMS中目前所使用的模板技术的原理: 什么是编译式模板.解释式模板,它们的区别是什么? ...
- (转)浅谈dedecms模板引擎工作原理及自定义标签
理解织梦模板引擎有什么意义?一方面可以更好地自定义标签.更多在于了解织梦系统,理解模板引擎是理解织梦工作原理的第一步.理解织梦会使我们写php代码时更顺手,同时能学习一些php代码的组织方式. 这似乎 ...
- dedeCMS,标准的MVC框架运行原理和缓存
2019独角兽企业重金招聘Python工程师标准>>> 1.织梦的工作原理: a.模板引擎: b.内核文件的载入.读取: 运行原理:url->配置文件->公共 ...
- 织梦二次开发写php,PHP教程—DedeCMS二次开发(二)
织梦内容管理系统(DedeCMS),是一个集内容发布.编辑.管理检索等于一体的网站管理系统(Web CMS),他拥有国外CMS众多特点之外,还结合中国用户的需要,对内容管理系统概念进行明确分析和定位. ...
- dedecms首页怎么调用公司简介的内容
DeDeCMS功能虽然强大,但还是有些细节上的功能没有实现,正如本文描述的问题一样,DEDECMS要在网站首页调用公司简介的内容,而且还要截取前多少个字符数的时候,DEDECMS标签中没有能实现这样的 ...
- dede 模板 php sql,dedecms模板中使用{dede:sql=””}实现分页功能详解
相信很多使用织梦dedecms的朋友在网上查找关于dede:sql标签进行分页的解决方案时都不尽如人意,尤其是在列表页使用dede:sql调用外部数据(所谓调用外部数据就是指在后台只是创建个空栏目,然 ...
- dedecms织梦最新0day
拿webshell的方法如下: 网传的都是说要知道后台才能利用,但不用,只要 plus 目录存在,服务器能外连,就能拿shell. 前题条件,必须准备好自己的dede数据库,然后插入数据: inser ...
- Dedecms 最新版漏洞收集并复现学习
Dedecms 最新版漏洞收集并复现学习 以下漏洞复现均处于最新版dedecms即V5.7 SP2(当然从18年开始就已经没有更新了,应该是没有人维护了).下载可以直接在官网下载. 1. 前台任意用户 ...
最新文章
- 使用pinctrl 和 gpio 子系统的字符设备驱动
- PNAS:人类首次利用新型脑磁图可视化快速大脑信号
- 一键清除bios密码_电脑忘记开机密码?怎么才能开机使用
- xml+dom4j+xpath学生管理系统
- codeforces gym100959 I - Robots(稠密图建图优化)
- imsi序列号_IPhone 获取IMSI序列号
- 【转】DICOM 网关的设计与实现
- MySQL存储过程(三)——存储过程分支流控语句
- android入门级智能手表产地,从全球智能手表市场来看,Android智能手表只在中国卖得好...
- linux下c程序调用reboot函数实现直接重启【转】
- C++ 租房管理系统
- 常用来进行钢结构节点输出的软件是什么_【经验分享】钢结构深化设计BIM应用方法总结...
- es配置中文和拼音分词器
- strtok函数详解
- 计算机二级Python错题
- Spring系列九:Spring 事务
- 3 MyBatis动态SQL
- java8写一个word count
- Linux C语言 创建一个简单的守护进程
- ElementUI实现el-form表单重置功能按钮
热门文章
- Citrix XenServer XenCenter 警报
- SpringBoot中的Quartz应用
- IT十八掌作业_java基础第十六天_GUI/socket
- C# WInForm中 窗体的this.width和this.height的属性值不能大于显示器的最大分辨率
- Useful websites for library
- places for finding a consulting job
- Changes at Different Environment?
- 毕业的答辩需要的要求(从校方的角度)
- 【转】推荐10本C#编程的最佳书籍
- CNCF推出云原生网络功能(CNF)Testbed