dedecms
一、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后台的简单使用
- 创建栏目
栏目就是分类,比如将电影分为欧美、日韩、国内等。有分类才能加内容。
- 添加内容
向栏目下添加内容,比如文章等。添加或修改时,自定义属性,可以选择推荐到首页,幻灯等功能。添加好后可以到前台查看效果。
顶级栏目就是前台的导航条按钮。
dede的前台都是静态页面,有的在添加内容时后自动生成,有的需要在后台生成按钮处点击需要生成,比如栏目html等可以点击生成。
三、使用dedecms制作电影网站
(一) 后台
- 创建电影模型
在后台的频道模型,内容模型管理,点击添加新模型。模型名为电影。
- 为电影模型添加字段
为电影模型添加字段。有些公共字段,不用自己添加,比如标题、logo图片、添加时间、所在分类等。只需添加模型特有的字段。模型有一个id,原理是创建一张表。添加字段就是给这个表加字段。
- 添加栏目
就是添加网站的内容的类型,比如,动作、喜剧、悲剧、戏剧、文艺等。可以批量添加。注意选择模型为电影模型。
- 刷新后台,添加电影
选择内容管理>电影,添加文档。
(二) 前台
- 替换前台模版
模版中使用标签获取数据。后台根据模版生成页面。用户访问的生成的页面。
模版在项目的templets目录下的default目录下。将default改名为default_bak。然后新建一个default目录,放新的模板。将模板中的html等的名字改为英文名。
dede必要的模板,index.htm。
- 修改模板名字
栏目模板,需要几个栏目有几个栏目模版,也可以共用。在网站栏目管理,选择要修改的栏目,比如电影。根据栏目属性,需要的模板数不同。最终列表栏目需要2个模版,列表模板和内容也模版;频道封面只要一个模版,封面模版;外部连接不需要模板。比如选择列表模板,在高级选项中,看到列表模版和文章模版的名字。根据这个名字改名。
- 修改模板
修改首页模板。
修改css和js。仿照dede提供的原模板,修改。
dedecms中前台页面有两种访问模式,动态和静态的。在生成中可以设置,更新主页html可以修改首页模式。开发时采用动态模式。
- 取出首页的最新的几部电影
使用arclist文档列表标签。注意,dede的标签不能嵌套使用。如果{}里面需要使用{},可以用[]代替。
<divclass="movie_re">
<ul>
{dede:arclisttypeid="5" channelid="17" addfields="language,pingfen"limit="4" orderby="id" orderway="desc"}
<liclass="c[field:global.autoindex/]">
<ahref="[field:arcurl/]" target="_blank">
<imgsrc="[field:litpic/]" />
</a>
<p>[field:language/]</p>
<b>
<ahref="[field:arcurl/]"target="_blank">[field:title/]</a>
<imgsrc="[field:global.cfg_templets_skin/]/images/1.jpg" />
<em>[field:pingfen/]分</em>
</b>
</li>
{/dede:arclist}
</ul>
</div>
修改模版调用不同的标签取不同的数据。
需要使用php实现功能,可以在include/extend.func.php中定义函数。
functiongetSmallStars($pingfen)
{
global $cfg_templets_skin;
//计算星星数量
$starCount = floor($pingfen/2);
$img = '';
for($i=0; $i<$starCount; $i++)
{
$img .= "<imgsrc='$cfg_templets_skin/images/star.jpg' />";
}
for($i=0; $i<5-$starCount; $i++)
{
$img .= "<imgsrc='$cfg_templets_skin/images/star_grid.jpg' />";
}
return $img;
}
可以在模板中使用标签调用函数。
[field:pingfenfunction="getSmallStars(@me)"/]
- 修改内容页模板
dede为内容生成的html,放在a目录下。在生成中,生成内容可以生成内容。
内容模板中使用的获取字段信息的标签,{dede:field.字段名/}
- 使用评论插件
常用的评论插件,畅言,多说。
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标签制作导航条
- 提取导航头
制作一个单独的head.htm文件。使用{dede:include file=”head.htm”/}导入到首页和内容页对应位置。
- 制作导航头
导航条上的数据是后台的顶级栏目,使用channel标签。
<!-- {dede:channeltype="top"} -->
<li>
<ahref="[field:typelink/]" title="[field:typename/]"target="_self">[field:typename/]</a>
</li>
<!-- {dede:channel/} -->
- 根据地区取电影
使用arclist标签。由于这个标签不能根据地区取。所以,要修改源码二次开发。
//二次开发修改where条件的变量
//判断如果标签上有一个where属性,就把这个where加到数组
$mwhere = $ctag->GetAtt('where');
if($mywhere)
{
$orwheres[] = &$mwhere;
}
还没有评论,来说两句吧...