网站的二次开发是指什么?有没有具体点的dedecms学习教程
首先可以明确的告诉你,DedeCMS的0day漏洞很多,而且也有一年多时间没有维护了。所以网上“流传”DedeCMS不安全、漏洞多是真实的情况,但这也洽洽说明dedecms在以前的确很火。
DedeCMS后台功能上是很齐全的,而且操作起来简单,用来二次开发也比较容易,所以在前几年受到不少套网站的程序员的热爱。正因为如此,再加上它是开源的,所以不少人发现漏洞后就开始攻击基于这款CMS的网站,每次一曝出漏洞,受到影响的网站很多。
考虑到现在官方也没维护了,所以建议大家选择其它CMS,比如PHPCMS在安全性上就给DedeCMS要好得多;而且现在PHP版本都比较高了,DedeCMS在这些高版本的PHP环境下运行会存在一些兼容性问题。
如果你的网站现在用的就是DedeCMS那建议作好安全加固措施,比如:
若网站没有交互,可以全站生成静态页,然后静态页单独部署,将后台和前台分离,这样别人无法攻击动态脚本;
源码目录权限严格控制,避免权限过大导致的非法文件可以上传或者可执行。
综上,DedeCMS不建议选择。
参考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]
一般的网站管理系统,比如dedecms,官方发布的版本,他的功能一般都是一定的,当官方出新版本的时候,就会改进某些功能,但是万一官方还没有发布新版本,却不能满足你的要求怎么办?就要进行二次开发,简单来说,二次开发就是修改本来的一些功能,需要一定的语言基础,dedecms是开源的php系统,所以你要懂得一些php的语法才有能力进行二次开发。一般的教程,教的只是如何更好地去使用这个系统,相比于二次开发,要简单的多,不需要php语言基础一样可以掌握。
从你的语气来看,你并不懂的php语言,所以如果要二次开发,还是找别人吧,如果你要的是教程,那么官方发布的一定是最完整、系统的,但不可能面面俱到,要真正掌握一个管理系统,我给你一个大体的思路吧,第一要自己测试,懂得最基本的操作,参照官方的教程,然后,你需要懂得一些小技巧,教程里可能会没有,那么,到论坛里去交流交流,你会学到很多技巧,一定会有“啊!原来可以这么用的感触。”到此为止,单单是熟练地使用,已经没有问题了,最后,你可以考虑学一些基本的语法知识,试着去了解功能的实现,这是一个需要投入大量时间的过程,在这个过程当中,你可以做一些简单的二次开发,当你越来越熟练的时候,你会自己修改的东西就会越来越多,运用也会更加灵活自如。
最后强调一点,你需要的教程,可能会没有,除了官方,没有谁会去些教程,所以论坛里的资源很重要,一定要学会寻找与利用。
这个功能需要根据下拉框内容来判断,具体代码如下:
<span class="[field:自定义字段名 addfields='自定义字段名' channelid='自定义字段内容模型id' runphp='yes']if(@me=='自定义字段对应值1 比如:已完结')@me='emd-ico';if(@me=='自定义字段对应值2 比如:未完结')@me='wei-ico';[/field:自定义字段名]">[field:zczt/]</span>
本人测试成功,我这段代码是放在{dede:list}{/dede:list}里面的 具体用哪个标签根据自己需要 只是提供一种解决思路
1、首先使用浏览器进入dedecms网站,登录到DEDECMS后台。
2、接着依次点击左侧功能菜单中的“模板”>>“默认模板管理”。
3、在模板列表找到要修改的模板,例如“文章频道封面”模板,点击“修改”。
4、然后在模板文件中找到下图所示代码,将此段代码修改为:{dede:arclist row='5' type='image'}。
5、最后保存模板编辑并更新,更新完成,就可以在文章详情页调用和修改购物车了。
0条评论