zoukankan      html  css  js  c++  java
  • dedecms

    dedecms的讲解 要求

    1.  统一开发环境(WAMP)

    版本不一样会出现问题  图片显示 数据库数据显示

    当我们安装新的环境时,一定要备份好自己的项目和数据库内容.

    安装成功后,测试

    2.  实际工作中, 开发两种情况

    1. 全新开发
    2. 项目中间进入开发(问题是:看文档/看别人写源码)

    项目开发流程 

    首先是可行性分析、做这个值不值,行不行   需求分析和设计最费时间

    项目经理:偏技术  偏管理

    实施:软件怎么安装,配置怎么设置,经常出差

    小公司不会分这么细,成长快把自己逼出来

    CMS 内容管理系统

    cms (content manage system 内容管理系统):

    比如 新闻/电子商务/电影网/公司宣传网站/软件/文章)

    流行的cms 【dedecms/ phpcms /cmstop】

    dedecms : 专注于 中/小型网站 ,但是有企业用户

    phpcms: 专注中型/大型

    cmstop: 处理大流程、大负载

    cms 特点

    1. 实用、开源、简单  开源和免费不是一回事
    2. cms 结构(mvc),不是全部面向对象
    3. 技术 php+mysql
    4. 使用全站静态

    dedecms的安装

    1、解压->uploads文件夹拷贝到 网站的主目录下,并修改为dedecms

    2、安装

    地址栏  http://localhost/dedecms/install/index.php

    安装 同意->启用gd库

    当安装成功后

    http://localhost/dedecms/index.php   [前台]

    http://localhost/dedecms/dede/index.php [后台]

    3、安全的设置:

    1. 把 dedecms/dede 目录 修改成另外名字 ,比如 manage
    2. 把 dedecms/date/common.inc.php 改成只读
    3. 修改admin的密码:

    dedecms的目录说明:

    dedecms/a 目录存放 我们的栏目静态页和内容静态页面

    dedecms/data 目录存放 临时文件、缓存文件、配置文件

    dedecms/image 目录存放网站的一些图片

    dedecms/include 目录存在核心类库文件 图片处理类,数据库处理类 (dedecms/include/dedesql.class.php),  字符串处理类       (dedecms/include/helper/string.helper.php)、标签库类 dedecms/include/taglib 、小工具类、      支付接口(dedecms/includepayment)

    dedecms/install 安装目录(重新安装的问题)

    dedecms/dede 目录管理后台

    dedecms/member 目录是 会员管理模块

    dedecms/plus 目录是插件开发,你可以开发自己的程序

    dedecms/templets/default 目录是我们的模板存放目录,核心,我们自己的模板页可以放到这里

    dedecms/uploads 目录放的是我们上传的图片和文件

    dedecms原理

    简单使用

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

    步骤:

    1、登录到dedecms后台创建了三个栏目(类别)

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

    添加三个,刷新首页即可看看.

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

    后台->核心->普通文章->添加文章      (缩略图代码可以拿出来用)  

    这里可以添加文章, 刷新首页面就看看

    当你点击 某个文章的超链接时,就可以看到对应的文章内容

    3、创建栏目页

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

    这时,我们的三级页面,全部走通.

    .

    细节问题:

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

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

    字段名

    含义

    Id

    编号 主键

    Topid

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

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

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

    新闻news   从表:dede_addonnews

    商品goods  从表:dede_addongoods

    5、当我们在后台,创建一个栏目时,

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

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

    6、我在某个栏目,创建一条记录时,

    (1)      该记录会保存到 数据库中(dede_archives+对应从表)

    (2)      同时成静态页面 dedecms/a/栏目文件夹/

    实例1:添加内容管理

    如果现在我们要做的是电子商务网站,卖我们的商品,这时用文章这样的形式来管理还合适吗? 但是内容管理没有商品,内容模型有商品

    在dede后台的规定, 如果一个内容模型,没有一个栏目,则不会出现内容添加的选项.

    隐藏栏目  隐藏内容待审核

    提出一个严肃的问题. 首页如何静态化.

    在dedecms 中栏目页面和首页面需要手动点击生成静态页面.

    栏目页面的静态化 : 后台->生成->更新栏目页 (自动生成对应的静态页面)

    首页面的静态   : 后台->生成->更新首页面( index.html)

    实例2:内容模型添加字段

    在添加某个商品的时候,我们希望多两个信息,就是付费方式,还希望多一个邮资信息,我们又该怎样处理?

    dedecms允许用户自定义字段,操作如下: 后台->内容模型管理

    在添加某个字段信息的时候,dede提供了一个叫联动类型的字段,常用的联动信息已经提供.地区. 比如给商品添加一个邮寄到地址 

    后台->内容模型管理->增加一个联动类型(注意,字段的名称,要和dede给出名字一致)

    后台->内容模型管理->联动类别管理

    实例3:更新栏目列表

    请各位同学看看,这里我们有一个问题,就是当你点击武侠,爱情,电器的时候,会找不到对应的页面,这是为什么呢?

    当我们点击首页的某个栏目,可以进入到对应的栏目列表页,需要我们手动的点击更新栏目页:步骤:后台->生成->更新栏目HTML 

    注意 :我可以选择你要更新的哪个栏目

    说明:当我们点击更新栏目HTML,就会在该栏目对应的 目录

    dedecms/a/栏目文件夹/ 生成两个静态文件 index.html 还有 xx_list.html

     原理示意图:

    思考题:1

    1. 栏目(类别)是保存在哪个表中的.

    栏目信息保存到 dede_arctype 表;

    2.一篇文章,一个商品它们最终是存放在数据库中的哪些表中?

    具体的信息放入到 :到两张表,一张是 dede_archives 表(主表),把常用的信息,放入到该表,

    同时把附件信息,放入到他对应的附件表(该表的名字 dede_addonXX) XX就是模型的名字 ,比如商品 dede_addonshop , 如果是文章 dede_addonarticle

    ☞ 一定要相当明白.

    增加网站内容步骤

    现在我要上一个租赁信息, 需求是内容模型自己创建 myhouse

    (1) 创建自己的内容模型 myhouse

    后台->内容模型管理->填写你的信息, 最后点击创建

    结果: 在 dede_channeltype 表中有这个信息; 会创建附件表 dede_addonmyhouse

    (2) 根据自己的需求,来创建自定义的字段

    后台->内容模型管理->点击你的某个模型->字段增加, 添加自己的信息

    结果: 在 dede_addonmyhouse 表中就会有一个新的字段创建, (alter table 表名 add cloumn 字段名 类型)

    (3) 创建一个具体的栏目

    出租房屋/求租房屋 

    到 后台->网站栏目管理 ->增加一个栏目

    刷新后台页面:

    (4) 增加信息

    点击内容管理->房屋信息

    根据实际情况来填写内容.

    (5) 然后更新首页面和栏目页面HTML

    后台-> 生成  -> 更新首页面HTMl ....栏目页面HTML

    每个栏目会对应两个目标文件 栏目模板,内容模板

    注意: 当我们更新后,求租房屋这个 栏目页生成 ( 因为你还没有提供 对应的栏目模板,因此默认使用list_default.htm) 对应内容也会使用默认模板(这时可能提示错误)

    自定义两个模版然后更新html看静态页面 大小都是0kb

    (6) 我们需要美工,至少两个模板

    列表模版list_XXX.htm

    内容(文本)模板 article_XXX.htm

    到此就可以把信息大量的创建.

    dedecms的标签使用

    dedecms 标签的使用

    在后台->模板->默认模板管理 ,点击 修改,就可以看到 dedecms提供的标签.

    去掉广告.

    思路:

    因为我的首页面的静态页是通过 模板创建来,到的首页面对应的模板文件,把模板文件中关于广告的代码,去掉即可. dedecms/templets/default/index.htm 模板

    广告标签是 {dede:myad}   去掉, 如果 index.htm 文件中 include其它模板文件,则需要把引入的模板文件的 myad去掉.

    找到模板文件去掉广告(某个栏目对应列表页)

    找到该栏目的对应的模板文件.可以到 后台->栏目管理->看看某个栏目的

    模板是哪个?然后修改.

    把某个栏目的所有内容页的广告去掉.

    思路: 首先,我们找到 电器栏目的的内容页面的模板文件.

    把电器栏目的所有内容页面的广告 去掉.

    小练习 :添加自己的广告图片在列表页

    在原广告位置加自己的广告

    系统学习dede标签

    学习方法:写一个自己的模版  写各种标签看效果

    把主页模版改成自己的

    (1) 单标签

    形式 : {dede:标签名  参数=’值’ /}

    举例 :include

    {dede:include filename=’head.htm’/}

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

  • 相关阅读:
    [BZOJ] 2276: [Poi2011]Temperature
    [Codevs] 5037 线段树练习4加强版
    [Codevs] 4919 线段树练习4
    [Codevs] 1082 线段树练习3
    [Codevs] 1080 线段树练习
    [Codevs] 1081 线段树练习 2 ----“分块!”
    1629: [Usaco2007 Demo]Cow Acrobats
    Kruskal || BZOJ 1601: [Usaco2008 Oct]灌水 || Luogu P1550 [USACO08OCT]打井Watering Hole
    SET || BZOJ 1588: [HNOI2002]营业额统计 || Luogu P2234 [HNOI2002]营业额统计
    线段树合并+并查集 || BZOJ 2733: [HNOI2012]永无乡 || Luogu P3224 [HNOI2012]永无乡
  • 原文地址:https://www.cnblogs.com/zuichumx0826/p/9287076.html
Copyright © 2011-2022 走看看