什么是CMS,CMS系统功能特点解释_DedeCms教程
很简单哦。 游戏发布信息功能只需要打开后台加入一个 自定义模型 然后自己做个相关的模板修改成你自己的模板就可以了。
核心-频道模型-内容模型或者自定义表单模型 都可以 然后 添加自己要的字段 也就是可以让别人填入信息的表单 写好之后 在创建栏目的时候 选择你刚刚创建的模型表单即可。 如果调用的话可以给你一个案例:
{dede:arclist addfields='mx,kcmc' typeid='9' row='8' channelid='1' orderby='pubdate''}
[field:mx/]
[field:kcmc/]
这里的mx和kcmc 就是你的自己定义要在前台显示的字段 然后 addfields 必须要有的。
channelid 就是你自定义时这个模型的id
首先可以明确的告诉你,DedeCMS的0day漏洞很多,而且也有一年多时间没有维护了。所以网上“流传”DedeCMS不安全、漏洞多是真实的情况,但这也洽洽说明dedecms在以前的确很火。
DedeCMS后台功能上是很齐全的,而且操作起来简单,用来二次开发也比较容易,所以在前几年受到不少套网站的程序员的热爱。正因为如此,再加上它是开源的,所以不少人发现漏洞后就开始攻击基于这款CMS的网站,每次一曝出漏洞,受到影响的网站很多。
考虑到现在官方也没维护了,所以建议大家选择其它CMS,比如PHPCMS在安全性上就给DedeCMS要好得多;而且现在PHP版本都比较高了,DedeCMS在这些高版本的PHP环境下运行会存在一些兼容性问题。
如果你的网站现在用的就是DedeCMS那建议作好安全加固措施,比如:
若网站没有交互,可以全站生成静态页,然后静态页单独部署,将后台和前台分离,这样别人无法攻击动态脚本;
源码目录权限严格控制,避免权限过大导致的非法文件可以上传或者可执行。
综上,DedeCMS不建议选择。
通过这个系统,可以方便的治理,发布,维护网站的内容,而不再需要硬性的写HTML代码或手工建立每一个页面。CMS有什么优点?可以应用在什么地方?在CMS领域,在各个层面都有极多地优点,在政府上网,学校上网,商业门户,信息港,地方门户网,等各种设计到文章发布和用治理的网站建设中。 可以针对各种内容进行分类和发布治理。可以针对不同类型的用户发布不同的内容,可以将各种内容进行分类。
可以任意定义内容类型与多媒体支持。
用户接口可编辑性强,可以根据客户要求订做用户接口和风格模块。
可分布式治理。站点治理和维护人员无须集中在同一个办公室,甚至都不用在同城,全球任何一个有网络的地方都可以让您实现高效率的治理。
可开发性强,可以针对不同的需求进行专门的开发。
轻易使用。任何一个人在经过十个小时左右的专业培训后就可以很轻松的治理并运作整套系统。
假如您的公司需要制作一个网站来介绍和推广您的产品,要进行网上客户支持或者开通上网购物等服务的话。一套继续了在线购物功能的CMS系统将可以成为非常不错的选择。同时各种类型的新闻以及文章发布,个人或者团体的weblog,在线小区,广告,下载,投票都可以选用CMS系统。CMS系统本身就是一个内容治理系统(英文全名:Contents Management System),在所治理的内容中,可以包括文章,,投票,广告,下载,多媒体文件,甚至可以嵌入论坛,留言板。对于文章可以进行分类治理,可以对同类型标题进行索引,根据要害字来搜索这个栏目中的相关主题的文章。对于的治理可以做成相册,也可以做成展览性质的专题站。在下载方面,可以通过FTP治理来进行下载,也可以使用普通常见的HTTP用户名加密访问进行下载,而CMS本身也支持下载治理,对各种属性的文件,流媒体都可以进行治理。社区论坛,留言板等需要进行用户治理的功能,可以通过CMS与论坛系统结合后实现,而CMS本身并非一个强大的用户治理系统,内容治理就是内容治理。相比之下,假如需要强大的用户治理功能,不如选择一套在用户治理上面比较专业的论坛。
phpcms优点:
1模块化安装,非常适合安装,拆卸,和拿到市场上去交易非常方便的。
2灵活的标签语法,非常强大。
3缓存做的非常优秀。几乎支持目前主流的几大缓存系统解决方案,file缓存,eaelerator缓存,memcache缓存,shmop缓存等
4安全性也不错的。后台为了防范入侵,采用了cookie和session同时存在验证技术,才可以安全进入后台。
多次登录失败,开启验证码功能。防止机器人频繁猜口令。
5数据库。在根目录下的include目录下,db_aessphpdb_mssqlphpdb_mysqlphp等,就照着他的方法,在增加几个也没问题的。
6兼容性。是在php4的基础上开发的,所以向下兼容性是不错的。在include/globalfuncphp这个文件可以看到很多if(!function_exist()){},这些代码就是为了兼容php4相关函数。
phpcms缺点:
1后台对应的模块的功能列表url,从数据库中读取的,也即是,安装的时候,将url写入数据库了。这个如果二次开发要修改的话,不是很方便的,最好是写到文件中,读取文件内容,方便开发者开发,而且也更容易维护,如果是出于安全考虑的话,不妨加下密也可以的。
2分部式。后台的某些功能模块,还是要调用各个应用模块的admin部分,相关*.inc.php文件.如果我要把其中某个模块或应用独立出去部署到其他的服务器上,就不方便了。
3数据库设计问题,后台开设模型时,表的引擎只能是myIsam,而不能选择其他的,字段的类型,比如要开设一个字段为number,类型为int,但是在新增加的模型表中还是以varchar出现,而不是int,长度是默认的255modelfiled表,才发现该系统是将类型写到该表中了。
4加密/解密程序。目前已经在想相关安全网站已被爆以破解。这也不是什么新闻了。在开发中,关注下相关安全厂商发布的漏洞。
5数据库抽象层。就以上提到的几个数据库文件。db_mssqlphpdb_mysqlphpdb_aessphp等对于数据库分布式,应该没问题的。数据库抽象层处理数据比较快,且快平台更容易且更容易维护,这个是需要考虑的。
Dedecms功能实用,模板功能使用简单。
dede是一种cms中文名称:织梦CMS这是dede的安装使用过程中的一些教程
Dedecms相关实用性教程贴导航(8月16日更新)
一:安装
全新安装DEDECMSV5教程(图解)
二:使用
DEDECMS后台功能说明书
DEDECMS数据字典
zhanzhangcom/viewt6&highlight=dedecms
四:模板修改相关
Dedecms标记入门(新手必读的模板教程)
zhanzhangcom/viewt7&highlight=dedecms
Dedecms首页头条,首页滚动效果如何做出来
zhanzhangcom/viewt9&highlight=dedecms
修改Dedecms首页LOGO的宽度动画视频教程
zhanzhangcom/viewt9&highlight=dedecms
DedeCMS实现新窗口中打开链接
zhanzhangcom/viewt2&highlight=dedecms
dedecms首页的注册会员|会员登陆的怎么在后台隐藏?
zhanzhangcom/viewt1&highlight=dedecms
五:采集相关
dedecms采集过滤
zhanzhangcom/viewt6&highlight=dedecms
这种多条件筛选构思上就是利用条件拼接sql语句,但就dedecms的功能来看,静态页比较难实现。
建议进行二次开发,或者制作php单页。
况且存储你所要查询的信息的表,应该也不是dede内置的表就能做的。
一个比较好的方式就是静态的栏目页,用ajax向一个php页提交参数,得到返回值后载入到页面中,体验好,难度也不大。
引入 /include/commonincphp 文件,利用dedecms的语法二次开发吧
在\dede\include\extendfuncphp文件中添加如下函数:
function getArticleList($category=0,$order="",$limit="0,200"){
global $dsql;
$query = "SELECT arc,tptypedir,tptypename,tpcorank,tpisdefault,tpdefaultname,tpnamerule,
tpnamerule2,tpispart,tpmoresite,tpsiteurl,tpsitepath
FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp on arctypeid=tpid
where tpid=$category";
//此sql语句我只加了where判断文章所属分类
//其他的order limit 你根据需要自己添加
$dsql->SetQuery($query);
$dsql->Execute('lit');
$arr = array();
$cnt = 0;
$str = "";
while ($row = $dsql->GetArray('lit')) {
if($cnt%4 == 0){
$str = "<div class='css1'>";
}
if($cnt%4 > 0){
$class = "css3";
}else{
$class = "css2";
}
$str = "<span class='"$class"'>"$row['title']"</span>";
$cnt++;
if($cnt%4 == 0){
$str = "</div>";
}
//$row中可用的常用字段如下:$row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'], row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']
}
return $str;
}
然后在模板中使用
{dede:field name='typeid' function="getArticleList(@me)" /}
将分类的id传给此函数就可以调用到数据,输出就是你要的格式。
输出内容你修改下php文件,常用字段都给你写在注释里了。
如果可以请也将我昨天给你回答的采纳一下。
参考dedecms的帮助文档中的arclist标签
标签名称:arclist
标记简介:织梦常用标记,也称为自由列表标记,其中imglist、imginfolist、specart、coolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。
功能说明:获取指定文档列表
适用范围:全局使用
基本语法:
{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclist}
参数说明:
col='' 分多少列显示(默认为单列),53版中本属性可以通过多种方式进行多行显示
如果col='1'要多列显示的可用div+css实现
以下为通过div+css实现多列的示例:
<style type=text/css>
div{width:400px;float:left;}
</style>
{dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='' col='2'}
•[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/>
{/dede:arclist}
当col>1将使用原来的table多列方式显示
row='10' 返回文档列表总数
typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目;
getall='1' 在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类
titlelen = '30' 标题长度 等同于titlelength
infolen='160' 表示内容简介长度 等同于infolength
imgwidth='120' 缩略图宽度
imgheight='90' 缩略图高度
listtype='all' 栏目类型 image含有缩略图 commend推荐
orderby='sortrank' 文档排序方式
§ orderby='hot' 或 orderby='click' 表示按点击数排列
§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列
§ orderby='near'
§ orderby=='lastpost' 按最后评论时间
§ orderby=='scores' 按得分排序
§ orderby='id' 按文章ID排序
§ orderby='rand' 随机获得指定条件的文档列表
keyword='' 含有指定关键字的文档列表,多个关键字用","分
innertext = '' 单条记录样式
aid='' 指定文档ID
idlist ='' 提取特定文档(文档ID)
channelid 频道ID
limit='起始ID,记录数' (起始ID从0开始)表示限定的记录范围(如:limit='1,2' 表示从ID为1的记录开始,取2条记录)
flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]
noflag = '' 同flag,但这里是表示不包含这些属性
orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
subday='天数' 表示在多少天以内的文档
用arclist调用于附加表字段的方法:
要获取附加表内容,必须符合两个条件
1、指定 channelid 属性
2、指定要获得的字段 addfields='字段1,字段'
如:
{dede:arclist addfields='filetype,language,softtype' row='8' channelid='3'}
[field:textlink /] - [field:softtype /]<br />
{/dede:arclist}
底层模板字段:
ID(同 id),typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,
source,litpic(同picname),pubdate,senddate,mid, lastpost,scores,goodpost,badpost,notpost,
description(同infos),filename, image, imglink, fulltitle, textlink, typelink,plusurl, memberurl, templeturl,
stime(pubdate 的"0000-00-00"格式)
其中:
textlink = <a href='arcurl'>title</a>
typelink = <a href='typeurl'>typename</a>
imglink = <a href='arcurl'><img src='picname' border='0' width='imgwidth' height='imgheight'></a>
image = <img src='picname' border='0' width='imgwidth' height='imgheight' alt=’titile’>
字段调用方法:[field:varname/]
如:
{dede:arclist infolen='100'}
[field:textlink/]
<br>
[field:infos/]
<br>
{/dede:arclist}
注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能。
如: 给当天发布的内容加上 (new) 标志
[field:senddate runphp='yes']
$ntime = time();
$oneday = 3600 24;
if(($ntime - @me)<$oneday) @me = "<font color='red'>(new)</font>";
else @me = "";
[/field:senddate]
0条评论