dedecms

本是古典 何须时尚 2022-05-31 23:13 352阅读 0赞

一、Introduction

CMS,Content Management System,内容管理系统。适合静态内容展示的网站,比如,新闻、电影、音乐、企业网站等网站。php常用的cms系统,phpcms,dedecms(织梦),帝国cms等等。

使用cms的优点是开发速度快,只需在后台稍微动作以下就可;门槛低。

二、安装和使用dedecms

到官网下载软件包。将解压后复制uploads的代码复制到站点目录下,将uploads改为网站的名字,然后直接在浏览器运行,第一次浏览时会提示安装。一步一步点下去,注意在目录权限检测时,如果是linux系统需要分配权限。

使用的基本思路是,到后台配置称为xx管理系统;然后,将前台模版套到dedecms,并使用模版标签从数据库取出数据。

模版标签的形式两种:

第一种,双标签,{dede:标签名}….{/dede:标签名},比如,{dede:arclist limit=”10”}名字:[field:title/]{/dede:arclist}

第二种,单标签,{dede:标签名 /},比如,{dede:global.cms_path /}

cms前台优化特点,所有前台的页面都是生成的静态页面。

dedecms后台的简单使用

  1. 创建栏目

栏目就是分类,比如将电影分为欧美、日韩、国内等。有分类才能加内容。

  1. 添加内容

向栏目下添加内容,比如文章等。添加或修改时,自定义属性,可以选择推荐到首页,幻灯等功能。添加好后可以到前台查看效果。

顶级栏目就是前台的导航条按钮。

dede的前台都是静态页面,有的在添加内容时后自动生成,有的需要在后台生成按钮处点击需要生成,比如栏目html等可以点击生成。

三、使用dedecms制作电影网站

(一) 后台

  1. 创建电影模型

在后台的频道模型,内容模型管理,点击添加新模型。模型名为电影。

  1. 为电影模型添加字段

为电影模型添加字段。有些公共字段,不用自己添加,比如标题、logo图片、添加时间、所在分类等。只需添加模型特有的字段。模型有一个id,原理是创建一张表。添加字段就是给这个表加字段。

  1. 添加栏目

就是添加网站的内容的类型,比如,动作、喜剧、悲剧、戏剧、文艺等。可以批量添加。注意选择模型为电影模型。

  1. 刷新后台,添加电影

选择内容管理>电影,添加文档。

(二) 前台

  1. 替换前台模版

模版中使用标签获取数据。后台根据模版生成页面。用户访问的生成的页面。

模版在项目的templets目录下的default目录下。将default改名为default_bak。然后新建一个default目录,放新的模板。将模板中的html等的名字改为英文名。

dede必要的模板,index.htm。

  1. 修改模板名字

栏目模板,需要几个栏目有几个栏目模版,也可以共用。在网站栏目管理,选择要修改的栏目,比如电影。根据栏目属性,需要的模板数不同。最终列表栏目需要2个模版,列表模板和内容也模版;频道封面只要一个模版,封面模版;外部连接不需要模板。比如选择列表模板,在高级选项中,看到列表模版和文章模版的名字。根据这个名字改名。

  1. 修改模板

修改首页模板。

修改css和js。仿照dede提供的原模板,修改。

dedecms中前台页面有两种访问模式,动态和静态的。在生成中可以设置,更新主页html可以修改首页模式。开发时采用动态模式。

  1. 取出首页的最新的几部电影

使用arclist文档列表标签。注意,dede的标签不能嵌套使用。如果{}里面需要使用{},可以用[]代替。

  1. <divclass="movie_re">
  2. <ul>
  3. {dede:arclisttypeid="5" channelid="17" addfields="language,pingfen"limit="4" orderby="id" orderway="desc"}
  4. <liclass="c[field:global.autoindex/]">
  5. <ahref="[field:arcurl/]" target="_blank">
  6. <imgsrc="[field:litpic/]" />
  7. </a>
  8. <p>[field:language/]</p>
  9. <b>
  10. <ahref="[field:arcurl/]"target="_blank">[field:title/]</a>
  11. <imgsrc="[field:global.cfg_templets_skin/]/images/1.jpg" />
  12. <em>[field:pingfen/]分</em>
  13. </b>
  14. </li>
  15. {/dede:arclist}
  16. </ul>
  17. </div>

修改模版调用不同的标签取不同的数据。

需要使用php实现功能,可以在include/extend.func.php中定义函数。

  1. functiongetSmallStars($pingfen)
  2. {
  3. global $cfg_templets_skin;
  4. //计算星星数量
  5. $starCount = floor($pingfen/2);
  6. $img = '';
  7. for($i=0; $i<$starCount; $i++)
  8. {
  9. $img .= "<imgsrc='$cfg_templets_skin/images/star.jpg' />";
  10. }
  11. for($i=0; $i<5-$starCount; $i++)
  12. {
  13. $img .= "<imgsrc='$cfg_templets_skin/images/star_grid.jpg' />";
  14. }
  15. return $img;
  16. }

可以在模板中使用标签调用函数。

  1. [field:pingfenfunction="getSmallStars(@me)"/]
  1. 修改内容页模板

dede为内容生成的html,放在a目录下。在生成中,生成内容可以生成内容。

内容模板中使用的获取字段信息的标签,{dede:field.字段名/}

  1. 使用评论插件

常用的评论插件,畅言,多说。

dedecms自带畅言插件。

在后台模块管理,安装畅言模块。安装好后就多了畅言评论模块。

四、数据采集

采集网络上的数据。采集对象需要是有规律的。

dede自带采集功能。后台采集,采集节点,新建采集节点。修改源码,将采集模型加入模型下拉框。修改templets/co_add_step0.htm中的$dsql->SetQuery(“Select id,typename From `#@__channeltype`where id in(1,2,17) order by id asc “);,in()中加上电影模型的id或者把where限制删掉。然后,选择新增节点的模型,然后填写采集规则。

修改dede源码,修改采集规范。

也可以使用专门采集的软件,比如,火车采集器。

采集后,选择采集的节点,导出数据,选择导出栏目。然后,生成就可以了。

五、使用channel和include标签制作导航条

  1. 提取导航头

制作一个单独的head.htm文件。使用{dede:include file=”head.htm”/}导入到首页和内容页对应位置。

  1. 制作导航头

导航条上的数据是后台的顶级栏目,使用channel标签。

  1. <!-- {dede:channeltype="top"} -->
  2. <li>
  3. <ahref="[field:typelink/]" title="[field:typename/]"target="_self">[field:typename/]</a>
  4. </li>
  5. <!-- {dede:channel/} -->
  1. 根据地区取电影

使用arclist标签。由于这个标签不能根据地区取。所以,要修改源码二次开发。

  1. //二次开发修改where条件的变量
  2. //判断如果标签上有一个where属性,就把这个where加到数组
  3. $mwhere = $ctag->GetAtt('where');
  4. if($mywhere)
  5. {
  6. $orwheres[] = &$mwhere;
  7. }

发表评论

表情:
评论列表 (有 0 条评论,352人围观)

还没有评论,来说两句吧...

相关阅读

    相关 dedecms

    一、Introduction CMS,Content  Management  System,内容管理系统。适合静态内容展示的网站,比如,新闻、电影、音乐、企业网站等网站。p