dedecms原理及使用

dedecms原理php

简单使用

如今老板要求你作一个文章管理系统,栏目(类别)包括(武侠、爱情、音乐...) ,每一个栏目(类别)有对应的文章,文章已经给你准备好了,请你在30分钟搞定该网站,怎么样?html

 

步骤:数据库

一、登陆到dedecms后台建立了三个栏目(类别)

后台->核心->网站栏目管理->添加顶级栏目         函数

添加三个,刷新首页便可看看.学习

2给每一个栏目添加对应的文章给武侠文章栏目添加文章

后台->核心->普通文章->添加文章      (缩略图代码能够拿出来用)   网站

这里能够添加文章, 刷新首页面就看看加密

当你点击 某个文章的超连接时,就能够看到对应的文章内容spa

3建立栏目页

后台->生成->更新栏目页设计

这时,咱们的三级页面,所有走通.3d

细节问题:

一、dede设计者认为,每一个栏目都属于一个模型 武侠文章|音乐文章=>文章模型,一个内容 模型,对应多个栏目  dede_channeltype 在默认状况下有提供5个内容模型

二、dede设计者认为,全部的数据(电影,文章,软件,新闻)属于一个栏目,为了记录这个栏目信 ,放入dede_arctype

字段名

含义

Id

编号 主键

Topid

上一级id是谁 0表明顶级栏目

一、dede的设计者认为,全部的记录(新闻,文章,软件。。)都应该把数据放入到表 dede_archives[主表],还有一部分数据放入对应 从表

二、dede设计者认为,不论是什么样的数据,(新闻,文章,软件..)他们有相同字段,把相同的 字段放入主表(dede_archives),同时认为,每种数据,都有本身独特的字段,因而把这些 信息,放入从表。好比:

新闻news   从表:dede_addonnews 

商品goods  从表:dede_addongoods

三、当咱们在后台,建立一个栏目时,

(1) 就会在 dede_arctype 表中记录这个栏目信息

(2) 同时,会建立一个对应的文件夹,栏目文件夹 dedecms/a/栏目文件夹/ 

四、我在某个栏目,建立一条记录时,

(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/}

相关文章
相关标签/搜索