dedecms 最新标签大全
- 格式:doc
- 大小:128.50 KB
- 文档页数:16
彩色热门tags,热门关键字代码,刷新一次变换一次,无需修改源码此代码优点:◎无需修改任何源文件◎CSS+JS文件控制,简单更容易!◎随心所欲,想变多少颜色就变多少颜色。
网页部分的代码如下:复制代码1.<div>2.<h2><span>热门标签<img src="images_ex/image_v1/ico_arrow_black.gif"[/color][/b]3.[b][color=#ff0000]/></span></h2>4.<ul>{dede:loop table='dede_search_keywords' sort='keyword' row='40' if=''}5.<li><a class="tag" href="plus/search.php?keyword=[field:keyword/]"> [field:keyword/]</a></li>6.{/dede:loop}</ul>7.</div>8.<script language="javascript">9.<!--10.var tag_a=document.getElementsByTagName("a");11.for( i in tag_a){12.var offset=6;13.var num=4;14.if(tag_a[i].className=="tag"){15.var rnd=Math.ceil((num+offset)*Math.random());16.if(rnd>offset){17.tag_a[i].className="tag"+(rnd-offset);18.}19.}20.}21.//-->22.</script>23.</div>CSS部分的代码如下:复制代码1..tag1 { color:#339900;font-weight:bold;}2..tag2 { color:#e65730;}3..tag3 { color:#00b9da;}4..tag4 { color:#FE3981;font-weight:bold;font-size:14px;}使用说明:◆此彩色关键字代码中有4种颜色的变化,如果想增加更多颜色变化,只需要修改var num=4;和css部分增加.tag例如:var num=5; css里增加.tag5{ color:#00b9da;},当然,自己也可以修改相应css,改变字体的颜色,大小,字体...等等,自由发挥吧!看截图效果吧:。
1)初学者建议安装到网站根目录;2)安装前检查include和dede/templets目录是否有可写和可修改权限;3)安装后删除或者重命名setup目录;2、认识dedecms目录安装后dedecms的目录如下表:根目录/dede 管理后台目录/freelist 自由文档列表生成目录/html 默认文章生成目录/include 程序核心文件目录/member 会员管理目录/plus 插件及辅助功能目录/setup 安装目录/special 专题生成目录/templets 默认模板存放目录/upimg 上传下载文件保存目录base.css 基本样式表index.php 网站默认首页robots.txt 搜索控制文件3、dedecms模板制作要学会dede模板制作不难,了解清楚模板位置最重要。
1)模板位置及目录结构/templets模板目录/dedecmsv31 3模板目录/default 默认模板目录article_article.htm 普通文章页面模板article_default.htm 一般文档页面模板article_flash.htm flash页面模板article_image.htm 图集页面模板article_soft.htm 软件页面模板article_spec.htm 专题页面模板index.htm 网站首页模板index_article.htm 文章频道封面模板index_article_webart1.htm 备用模板index_article_webart2.htm 备用模板index_article_webart.htm 备用模板index_default.htm 一般文档封面模板index_flash.htm flash频道封面模板index_image.htm 图集频道封面模板index_soft.htm 软件频道封面模板list_article.htm 文章列表模板list_default.htm 一般文档列表目录模板list_flash.htm flash文档列表模板list_free.htm 自由列表模板list_image.htm 图集列表模板list_soft.htm 软件列表模板list_spec.htm 专题列表模板/img 模板图片目录(含样式表)/plus 辅助插件模板目录download_links_templet.htm 下载链接模板feedback_confirm.htm 评论确认模板feedback_templet.htm 用户评论模板feedback_templet_js.htm 同上flink-add.htm 友情链接添加模板flink-list.htm 友情链接列表模板guestbook.htm 留言本模板heightsearch.htm 高级搜索模板js.htm JS脚本模板recommend.htm 推荐好友模板rss.htm RSS的XML模板rssmap.htm RSS订阅文件showphoto.htm 图片显示模板sitemap.htm 网站地图模板view_msg.htm 会员提示信息模板vote.htm 投票结果显示模板/system 系统模板目录channel_list.htm 栏目列表系统模板list_fulllist.htm 文档列表系统模板mynews.htm 站内新闻系统模板part_arclist.htm 文章列表系统模板part_autochannel.htm 分类栏目系统模板part_channelartlist.htm 包含文章列表的栏目系统模板part_imginfolist.htm 使用imginfolist标签调用的模板part_imglist.htm 使用imglist标签调用的模板part_type_list.htm 单个栏目的系统模板spec_arclist.htm 专题列表文章系统模板spec_list.htm 专题用模板tag_arclist.htmtag_fieldlist.htm fieldlist用系统模板/system/channel 频道特殊底层模板目录channel_downlinkpage.htm 下载地址列表链接模板channel_downlinks.htm 下载地址列表模板channel_spec_note.htm 专题节点列表模板制作好的模板根据上面的列表覆盖即可2)模板制作及发布方法建议方法:①制作网站模板②参考官方模板在对应地方填入对应dede标签③替换templets/default目录下的对应文件④后台系统设置中,自定义“模板默认风格(cfg_df_style)”变量,讲模板放入自建的目录中。
本文实例讲述了dedecms列表页调用文章正文内容的方法。
分享给大家供大家参考。
具体分析如下:一般来说,在列表页面要获取文章内容简单描述的话我们可以直接使用description标签就可以了,但是如果要有很多估计我们需要进行一些简单的修改。
在制作织梦模板的时候,有的时候我们需要调用文章部分内容,用[field:description/]标签字数不够多(数据库设计字段是varchar(255)的),另外修改了文章内容但是摘要还需要手动修改,所以只能调用文章正文内容了.实现织梦DedeCMS列表页调用文章正文的方法有两种,不过都是使用的dede:arclist标签,如果使用dede:list标签的话,第一种方法是调用不出结果的.以下是织梦DedeCMS列表页调用文章正文的第一种方法,代码如下:复制代码代码如下:{dede:arclist flag='h' row='10′}<h1><a href='[field:arcurl/]'>[field:title/]</a></h1><p>[field:id runphp='yes'] $aid = @me; $row = $GLOBALS['dsql']->GetOne("Select body From 'dede_addonarticle' where aid='$aid' "); @me =cn_substr(strip_tags("{$row['body']}"),400);[/field:id]<a href='[field:arcurl/]'>【阅读详细】</a></p>{/dede:arclist}代码中的数字400是用来设置需要调用多少内容的,因为调用的是body里面的内容,如果有里面包含代码的话也会被调用出来,这点比较不好,不过可以使用html2tex()函数解决一下.第二种方法则是利用了织梦可以自定义模型内容数据,并调用的原理,把文章模板的body字段看做在自定义的,调用的代码如下:复制代码代码如下:{dede:arclist row='10' addfields='body' channelid='1'}<p> [field:body function='cn_substr(html2text(@me),600)'/]...</p><span class="more"><a href=" [field:arcurl/]" style="text-decoration:none; color:#990000;"& gt; [详情] </a></span>{/dede:arclist}以下是这种方法的详细说明:1.addrields=”字段一,字段二…”2.idlist:文章编号,调用指定内容3.function=’cn_substr(html2text(@me),600)’将文章内容转化为文字格式4.channelid,模型编号,文章默认为1,查看位置:后台–核心–内容模型管理两种方法各有优劣,第一种方法比较繁琐,不是那么容易看懂,还是比较推荐采用第二种方法实现织梦DedeCMS列表页调用文章正文的功能的.谁说dede:list 标签不能调用body内容,现在就告诉你,直接就可以调用第一步,打开后台核心-->频道模型-->内容模型管理-->普通文章,在列表附加字段中添加body.第二步,在dede:list语句中指定addfields='body',然后直接用[field:body/]调用全部内容.实例代码如下:复制代码代码如下:{dede:list pagesize='18' addfields='body'}<li><p>[field:body/]</p><p><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></p></li>{/dede:list}另外,如果像摘要一样调用可以用,代码如下:复制代码代码如下:[field:body function='cn_substr(html2text(@me),200)'/]替代:复制代码代码如下:[field:description /]调出文章前200个字符内容,经过这两步,可以彻底关掉系统默认的文章摘要功能,最后还有就是官方的一个[field:description/]字段了,这个如果对于要求几十个字的完全可以了,但是如果太多字此字段就无效了.希望本文所述对大家的dedecms建站有所帮助。
DedeCMS织梦图集Flash控件停⽤⽆法上传图⽚处理我们知道由于Flash控件与2020年停⽤,导致DedeCMS织梦图集⽆法上传图⽚,虽然flash已经退出舞台了,⽽织梦的图集上传功能仍然使⽤的是flash控件,⽬前不仅⽆法正常上传图像⽽且也不⽀持多实例多图集,我们来把它换⼀换,换成现在⽐较流⾏的layui前端框架 - layui上传模块。
整合教程第⼀步、下载额外所需⽂件,根据⾃⼰⽹站编码把下载得到的⽂件解压吗,然后找到 layui上传模块⽂件夹,然后选择⾃⼰DedeCMS编码对应的⽂件夹,然后把"layui"⽂件夹和"taglib"⽂件夹放到你⽹站include⽂件夹⾥去。
第⼆步、为后台图⽚集模型添加layui上传模块,官⽅原来的图集上传功能保留不动伸⼿党可以直接把下载解压后的⽂件夹图集模型上传模块下的4个⽂件替换即可使⽤(替换之前建议你备份你⾃⼰的这4个⽂件)1. /dede/templets/album_add.htm2. /dede/templets/album_edit.htm3. /dede/album_add.php4. /dede/album_edit.php覆盖⽂件后刷新后台即可使⽤。
如果您使⽤的是默认单个图集,没有对DedeCMS图集进⾏开发过,下⾯的教程可略过⽆需理会【注意,⼆开的后台请根据教程来操作】。
⼆开教程1、打开 /dede/templets/album_add.htm 找到<div id="thumbnails"></div>在它所在的tr标签下⾯加⼊<link href="../include/layui/css/layui.css" rel="stylesheet" media="all"><script src="../include/layui/layui.js" type="text/javascript"></script><tr><td width="100%" height="24" colspan="4" class="bline"><table width="800" border="0" cellspacing="0" cellpadding="0"><tr><td width="80" height="40"> <b>默认图集:</b></td><td><button type="button" class="layui-btn layui-btn-sm layui-btn-normal imgurls"><i class="layui-icon layui-icon-upload"></i>上传图⽚</button></td></tr></table></td></tr><tr><td colspan="4" class="bline"><table width='100%'><tr><td><div class="layui-upload-img"><ul class="layui-upload-list" id="imgurls"></ul></div></td></tr></table></td></tr><script type="text/javascript">e('upload', function(){var $ = layui.jquery,upload = layui.upload;// imgurls 图⽚上传var uploadInst = upload.render({elem: '.imgurls',url: '../include/layui/layuiupload.php',multiple: true,accept: 'images',acceptMime: 'image/*',done: function(res){if(res.code == 0){return layer.msg(res.msg);}$('#imgurls').append('<li class="item_img"><div class="operate"><i class="toleft layui-icon layui-icon-left"></i><i class="toright layui-icon layui-icon-right"></i><i class="close layui-icon layui-icon-close-fill" data-id="' + res.id + '"></i>< },error: function(){//失败重传}});$("body").on("click",".close",function(){var id = $(this).data('id');$.get('../include/layui/layuiupload.php',{'dopost':'del','id':id},function(res){})$(this).closest("li").remove();});$("body").on("click",".layui-upload-img ul li .toleft",function(){var li_index = $(this).closest("li").index();if(li_index >= 1){$(this).closest("li").insertBefore($(this).closest("ul").find("li").eq(Number(li_index)-1));}});$("body").on("click",".layui-upload-img ul li .toright",function(){var li_index = $(this).closest("li").index();$(this).closest("li").insertAfter($(this).closest("ul").find("li").eq(Number(li_index)+1));});});</script>2、打开 /dede/templets/album_edit.htm 找到<div id="thumbnails"></div>在它所在的tr标签下⾯加⼊<link href="../include/layui/css/layui.css" rel="stylesheet" media="all"><script src="../include/layui/layui.js" type="text/javascript"></script><tr><td width="100%" height="24" colspan="4" class="bline"><table width="800" border="0" cellspacing="0" cellpadding="0"><tr><td width="80" height="40"> <b>默认图集:</b></td><td><button type="button" class="layui-btn layui-btn-sm layui-btn-normal imgurls"><i class="layui-icon layui-icon-upload"></i>上传图⽚</button></td></tr></table></td></tr><tr><td colspan="4" class="bline"><table width='100%'><tr><td><div class="layui-upload-img"><ul class="layui-upload-list" id="imgurls"></ul></div></td></tr></table></td></tr><script type="text/javascript">e('upload', function(){var $ = layui.jquery,upload = layui.upload;// imgurls 图⽚上传var uploadInst = upload.render({elem: '.imgurls',url: '../include/layui/layuiupload.php',multiple: true,accept: 'images',acceptMime: 'image/*',done: function(res){if(res.code == 0){return layer.msg(res.msg);}$('#imgurls').append('<li class="item_img"><div class="operate"><i class="toleft layui-icon layui-icon-left"></i><i class="toright layui-icon layui-icon-right"></i><i class="close layui-icon layui-icon-close-fill" data-id="' + res.id + '"></i>< },error: function(){//失败重传}});$("body").on("click",".close",function(){var id = $(this).data('id');$.get('../include/layui/layuiupload.php',{'dopost':'del','id':id},function(res){})$(this).closest("li").remove();});$("body").on("click",".layui-upload-img ul li .toleft",function(){var li_index = $(this).closest("li").index();if(li_index >= 1){$(this).closest("li").insertBefore($(this).closest("ul").find("li").eq(Number(li_index)-1));}});$("body").on("click",".layui-upload-img ul li .toright",function(){var li_index = $(this).closest("li").index();$(this).closest("li").insertAfter($(this).closest("ul").find("li").eq(Number(li_index)+1));});});</script>3、打开 /dede/album_add.php 找到//加⼊附加表 在它上⾯加⼊//图集字段 imgurlsif(is_array($_POST['imgurls']['url'])){$my_imgurls = "";foreach($_POST['imgurls']['url'] as $key => $val){$my_imgurls .= "{dede:img ddimg='$val' text='{$_POST['imgurls']['alt'][$key]}' width='' height='' uaid='{$_POST['imgurls']['uaid'][$key]}'}$val{/dede:img}\r\n";}}$imgurls .= addslashes($my_imgurls);4、打开 /dede/album_edit.php 找到//更新附加表在它上⾯加⼊//图集字段 imgurlsif(is_array($_POST['imgurls']['url'])){$my_imgurls = "";foreach($_POST['imgurls']['url'] as $key => $val){$my_imgurls .= "{dede:img ddimg='$val' text='{$_POST['imgurls']['alt'][$key]}' width='' height='' uaid='{$_POST['imgurls']['uaid'][$key]}'}$val{/dede:img}\r\n";}}$imgurls .= addslashes($my_imgurls);第三步、内容页模板调⽤图集标签新写法<h2>默认图集</h2>{dede:imagelist}<li><img src="[field:imgsrc/]" alt="[field:text/]" width="220" height="150"><p>[field:text/]</p></li>{/dede:imagelist}</ul><h2>户型图⽚</h2><ul>{dede:imagelist field="huxing"}<li><img src="[field:imgsrc/]" alt="[field:text/]" width="220" height="150"><p>[field:text/]</p></li>{/dede:imagelist}</ul>特别说明1. {dede:imagelist field="huxing"}field='图⽚集字段'不填的话就是调⽤图集默认,织梦多个图集多实例教程在操作下⾯的教程之前必须确定你已经完成上⾯第⼀、第⼆、第三步第⼀步、附加表⾥添加多个图集字段,例如户型图⽚字段后台-系统-SQL⼯具-SQL命令⾏⼯具ALTER TABLE dede_addonimages ADD `huxing` text;dede_addonimages 是我的图集模型附加表,注意⾃⼰的附加表,千万别写错了第⼆步、打开 /dede/templets/album_add.htm 找到id="imgurls"在它所在的tr下⾯加⼊<tr><td width="100%" height="24" colspan="4" class="bline"><table width="800" border="0" cellspacing="0" cellpadding="0"><tr><td width="80" height="40"> <b>户型图⽚:</b></td><td><button type="button" class="layui-btn layui-btn-sm layui-btn-normal huxing"><i class="layui-icon layui-icon-upload"></i>上传图⽚</button></td></tr></table></td></tr><tr><td colspan="4" class="bline"><table width='100%'><tr><td><div class="layui-upload-img"><ul class="layui-upload-list" id="huxing"></ul></div></td></tr></table></td></tr> 如图,注意标注的地⽅继续找到// imgurls 图⽚上传在它上⾯加⼊// huxing 图⽚上传var uploadInst = upload.render({elem: '.huxing',url: '../include/layui/layuiupload.php',multiple: true,accept: 'images',acceptMime: 'image/*',done: function(res){if(res.code == 0){return layer.msg(res.msg);}$('#huxing').append('<li class="item_img"><div class="operate"><i class="toleft layui-icon layui-icon-left"></i><i class="toright layui-icon layui-icon-right"></i><i class="close layui-icon layui-icon-close-fill" data-id="' + res.id + '"></i></div>< },error: function(){//失败重传}});如图,注意标注的地⽅第三步、打开 /dede/templets/album_edit.htm 找到1. id="imgurls"在它所在的tr下⾯加⼊<tr><td width="100%" height="24" colspan="4" class="bline"><table width="800" border="0" cellspacing="0" cellpadding="0"><tr><td width="80" height="40"> <b>户型图⽚:</b></td><td><button type="button" class="layui-btn layui-btn-sm layui-btn-normal huxing"><i class="layui-icon layui-icon-upload"></i>上传图⽚</button></td></tr></table></td></tr><tr><td colspan="4" class="bline"><table width='100%'><tr><td><div class="layui-upload-img"><ul class="layui-upload-list" id="huxing"><?phpif($addRow['huxing']!=""){$dtp = new DedeTagParse();$dtp->LoadSource($addRow['huxing']);if(is_array($dtp->CTags)){$fhtml = '';foreach($dtp->CTags as $ctag){if($ctag->GetName()=="img"){$bigimg = trim($ctag->GetInnerText());$text = trim($ctag->GetAtt('text'),'‘');$uaid = trim($ctag->GetAtt('uaid'),'‘');$fhtml .= "<li class=\"item_img\"><div class=\"operate\"><i class=\"toleft layui-icon layui-icon-left\"></i><i class=\"toright layui-icon layui-icon-right\"></i><i class=\"close layui-icon layui-icon-close-fill\" data-id=\"{$u }}echo $fhtml;}$dtp->Clear();}></ul></div></td></tr></table></td></tr>如图,注意标注的字段部分继续找到1. // imgurls 图⽚上传在它上⾯加⼊// huxing 图⽚上传var uploadInst = upload.render({elem: '.huxing',url: '../include/layui/layuiupload.php',multiple: true,accept: 'images',acceptMime: 'image/*',done: function(res){if(res.code == 0){return layer.msg(res.msg);}$('#huxing').append('<li class="item_img"><div class="operate"><i class="toleft layui-icon layui-icon-left"></i><i class="toright layui-icon layui-icon-right"></i><i class="close layui-icon layui-icon-close-fill" data-id="' + res.id + '"></i></div>< },error: function(){//失败重传}});如图,注意标注的字段第四步、打开 /dede/album_add.php 找到1. //⽣成HTML在它上⾯加⼊//新增图集字段 huxingif(is_array($_POST['huxing']['url']))$huxing = "";foreach($_POST['huxing']['url'] as $key => $val){$huxing .= "{dede:img ddimg='$val' text='{$_POST['huxing']['alt'][$key]}' width='' height='' uaid='{$_POST['huxing']['uaid'][$key]}'}$val{/dede:img}\r\n"; }if($huxing){$huxing = addslashes($huxing);$upquery = "UPDATE `$addtable` SET `huxing`='$huxing' WHERE aid='$arcID' ";$dsql->ExecuteNoneQuery($upquery);}}如图,注意标注的字段第五步、打开 /dede/album_edit.php 找到1. //⽣成HTML在它上⾯加⼊//新增图集字段 huxing$huxing = "";if(is_array($_POST['huxing']['url'])){foreach($_POST['huxing']['url'] as $key => $val){$huxing .= "{dede:img ddimg='$val' text='{$_POST['huxing']['alt'][$key]}' width='' height='' uaid='{$_POST['huxing']['uaid'][$key]}'}$val{/dede:img}\r\n"; }}$huxing = addslashes($huxing);$upquery = "UPDATE `$addtable` SET `huxing`='$huxing' WHERE aid='$id' ";$dsql->ExecuteNoneQuery($upquery);如图,注意标注的字段第六步、内容页标签新写法参考上⾯,使⽤layui第⼀张图作为缩略图,打开 /dede/album_add.php 找到1. ⽣成⽂档ID在它上⾯加⼊1. //使⽤layui第⼀张图作为缩略图2. if($ddisfirst==1 && $litpic=='')3. {4. if(isset($_POST['imgurls']['url'][0]))5. {6. $litpic = $_POST['imgurls']['url'][0];7. }8. }如图,注意标注的字段。
dedecms 调用文章标题
在DedeCMS中,要调用文章标题,可以使用以下方法:
1. 使用标签调用,在模板文件中可以使用
`[field:title/][field:arcitle/][field:biaoti/]`等标签来调用文章标题,具体标签名称可能会根据模板的不同而有所不同,需要查看模板的文档或者标签说明来确认使用哪个标签。
2. 使用PHP调用,在模板文件中可以直接使用PHP代码调用文章标题,例如`<?php echo $arctitle; ?>`来输出文章标题,$arctitle是DedeCMS中存储文章标题的变量名,可以根据实际情况进行调整。
3. 使用数据库查询,在需要的地方,可以直接通过数据库查询语句来获取文章标题,例如`SELECT title FROM dede_archives WHERE id=1`,这样可以直接从数据库中获取指定文章的标题。
无论使用哪种方法,都需要确保在调用文章标题的地方,已经获取到了文章的相关信息,否则无法正确输出文章标题。
另外,需
要注意文章标题的输出位置和样式,确保与网站的整体风格和布局相匹配。
希望以上方法能够帮助到你。
DEDEcms5.3模板文件夹详解dede程序,以5.3为例,一共有11个文件夹,2个php文件和一个txt文件,其中,templets文件夹是网站的前台模板。
虽然我们平时说的模板都是默指网站首页,频道页与内容页等基本的前台模板,dede还有后台模板,会员页面模板等。
后台模板在dede/templets文件夹里,一般不作改动,而使用会员功能的网站则需要对会员使用页面的模板作一些修改了,存放路径是member/templets,具体不提,下面讲解根目录下的templets文件夹,也就是我们说到dede模板时默指的前台基本模板。
首先,templets文件夹又下有了default,images,plus,style和system等5个文件夹,除了三个inc文件。
首先须要特别注意的就是这三个inc文件,templet-dirlist.inc,templet-filelist.inc和templet-pluslist.inc,它们其实就是模板说明文件,我们学习dede的模板文件可以从这三个家伙开始下手。
templet-dirlist.inc,解释了templets下每个文件夹的内容:default,默认模板文件目录;plus,附加插件模板目录;system,默认底层模板目录。
补充:images,图片存放文件夹;style,css样式表存放文件夹。
templet-filelist.inc,就是系统预设模板文件表明,也就是对网站前台主要模板放置目录――default文件夹里的32模板文件促进作用逐个表明。
也许你可以真的怪异,怎么存有32个模板文件那么多,必须怎么吃得下那么多呢?其实,我们不须要回去死记他们分别就是哪个页面的模板,我们只须要备考一下几个英语单词就能够正视它们了。
首先,弄清楚index,list和article代表的含义。
index――这里指首页,index.htm就是网站首页模板,其他以index结尾的模板文件就是频道(栏目)的首页。
织梦(DedeCms)调⽤上级栏⽬(⽗类)⽂章的⽅法(附代码)DedeCms是⽐较知名的国产CMS,⽽且免费开源,在界有着很多的拥护者,尤其它的简单易⽤更是给⼀些想建站的朋友降低了门槛。
的模板框架是他们⾃⼰开发,总体来说还是不错的,很容易上⼿。
今天团队的⼀个站需要在内容页调⽤⽗类下的所有内容(就是当前栏⽬平⾏栏⽬),⼤概翻了下,DEDE默认是没有这个功能的,只好⾃⼰动⼿了,当时因为⼿头有其他⼯作所以就直接在模板⽂件中实现了,晚上回来整理了下,把其他的⽅法也列出来。
1.模板标签({dede:type})中嵌套php代码直接修改要调⽤的模板⽂件,在调⽤位置填写以下代码(请根据⾃⾝情况调整html标记){dede:type}[field:id runphp="yes"]global$cfg_Cs, $dsql;$tids = GetSonIds($cfg_Cs[@me][0]);if ('' != $tids) {$sql = 'SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,rule,rule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` AS arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id WHERE $dsql->Execute('me', $sql);$s = '';while ($row = $dsql->GetArray('me')) {$s .= '<li><span>' . MyDate('m-d',$row['pubdate']) . '</span> <a href="' . GetFileUrl($row['id'], $row['typeid'], $row['senddate'], $row['title'], $row['ismake'], $row['arcrank'], $row['namerule'], $row['typedir'], $row['money'], $row['filename'],}@me = $s;} else {@me = '';}[/field:id]{/dede:type}2.修改默认arclist标签让其⽀持此功能该标签的⽂件在“/include/taglib/arclist.lib.php”,⽤任意⽂本编辑将其打开,查找“//指定了getall属性或主页模板例外”这句注释内容,在其下⾯插⼊代码,并把紧邻的“if”关键字改成“elseif”,代码如下://指定了多个栏⽬时,不再获取⼦类的idif ('parent' == $typeid){$typeid = GetSonIds($envs['reid'], 0, 0);$orwheres[] = ' arc.typeid in (' . ('' == $typeid ? '0' : $typeid) . ') ';}elseif( ereg(',', $typeid) ){//指定了getall属性或主页模板例外if($getall==1 || empty($refObj->Fields['typeid'])){$typeids = explode(',', $typeid);foreach($typeids as$ttid) {$typeidss[] = GetSonIds($ttid);}$typeidStr = join(',', $typeidss);$typeidss = explode(',', $typeidStr);$typeidssok = array_unique($typeidss);$typeid = join(',', $typeidssok);}$orwheres[] = " arc.typeid in ($typeid) ";}3.添加⾃定义模板标签“{dede:parentlist}”织梦的模板引擎⽀持⽤户⾃定义标签来实现它没有的功能,⽽且⽆需修改多余的代码,只要将⾃⼰的标签⽂件放⼊“/include/taglib/”下就⾏了,下⾯是我临时写的⼀个标签,基本实现了前⽂所说的功能。
织梦DedeCMS在{dede:channel}标签前加序列号的⽅法我们在制作织梦模板的时候,经常想实现这样的⼀个样式功能:在DedeCMS⽹站导航中都会添加⼀些样式,这样能让导航看起来很美观⼤⽅。
但是{dede:channel}标签是不能修改的,想要有⼀个好看的样式效果,还要修改⼀些标签。
默认的{dede:channel}调⽤⽅法:{dede:channel type='top' row='8'}<a href="[field:typeurl/]" [field:rel/] title="[field:typename/]" class="dh1">[field:typename/]</a>{/dede:channel}通过修改,改成下⾯的样式:{dede:channel type='top' row='8' line='2'}<a href="[field:typeurl/]" title="[field:typename/]" class="dh[field:line/]" [field:rel/]></a>{/dede:channel}修改步骤如下:打开⽂件include/taglib/channel.lib.php,把$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|";修改成$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|,line|1";//|后⾯的1,代表初始值在第9⾏附近追加如下代码://默认属性⾥设置的⾏数$default_line = $ctag->CAttribute->Items["line"];把下⾯代码$row['sonids'] = $row['rel'] = '';修改成$row['sonids'] = $row['rel'] = ''; $row['line'] = $default_line+$i;如果要使⽤currentstyle样式,即当前栏⽬样式,则必修将刚才的"line"字段,追加到下⾯代码后⾯$linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr);$linkOkstr = str_replace("~id~",$row['id'],$linkOkstr);$linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr);$linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);$linkOkstr = str_replace("~line~",$row['line'],$linkOkstr);完成。
Dedecms文件目录结构分析本文主要是为了今后对Dedecms做二次开发所写。
安装后dedecms的目录,如(图1)所示,图1-文件根目录“a”:默认HTML文件存放目录“data”:系统缓存或其它可写入数据存放目录“dede”:默认后台管理目录“images”:系统默认模板图片存放目录“include”:类库文件目录“install”:安装程序目录,安装完后可删除“member”:会员目录“plus”:附助程序目录“special”:专题目录“templets”:系统默认内核模板目录“uploads”:默认上传目录“index.php”:网站默认首页“robots.txt”:搜索控制文件“tags.php”:标签页详细的目录结构如下:|a/*生成HTML的目录,老版本为html文件夹*/|data/*程序生成常用数据保存目录*/||admin/*保存系统后台常规配置,例如作者、快速导航、来源这些内容,通常以文本格式存放*/||backupdata/*数据库备份存放目录,可以在系统后台设置处修改*/||cache/*系统缓存*/||enums/*联动类别生成的缓存和js文件*/||js/*栏目js调用生成的js文件*/||mark/*图片水印设置目录*/||module/*系统后台那些模块安装包存放的目录,通常文件名称加密过*/||rss/*生成RSSmap存放的文件目录*/||sessi*****/*系统sessi*****存放目录,一般登陆后就会生成个session,目录不可写那可能无法登陆*/||textdata/*文本数据,系统后台保存为文本数据存放目录*/||tplcache/*模板缓存目录,这个缓存一般是那些动态页*/||ziptmp/*压缩缓存目录*/|dede/*系统后台管理目录*/||img||inc||js||templets/*系统后台的模板存放目录*/|images||js||swfupload|||images|||plugins|include/*系统核心类库、函数存放目录*/||calendar/*日历控件,就是日期编辑框跳出来的那个日历框*/||code/*datalistcp动态分页类的编码语言包*/||data/*系统核心设置的数据,比如词库默认验证码*/||dialog/*系统对话框存放目录,通常是编辑器上面选择的类似于缩略图、插入图片文件*/|||img||FCKeditor/*编辑器存放目录,用的是开源编辑器FCK*/|||editor||||css|||||images||||dialog|||||common|||||fck_about|||||fck_codes|||||fck_flash|||||fck_image|||||fck_link||||dtd||||images|||||smiley||||js||||lang||||skins|||||images||inc/*这里存放一些用才引入的比较长的函数*/||taglib/*就是那些用在模板中的标签存放的目录了*/|||channel/*解析一些特殊字段的扩展函数库*/|||help/*基本的标签说明*/||tpllib/*动态模板标签,一般用在动态调用页面上面的标签*/ |install/*安装目录*/||images||templates|member/*会员中心目录*/||images|||pay||inc/*会员中心*/||js||paycenter/*支付接口配置*/|||alipay|||cbpayment|||nps|||tenpay|||yeepay||space/*会员中心的空间模板*/|||coffee||||images|||company||||images|||flower||||images|||gray||||images|||lxblog||||images|||lxbrown||||images|||lxvista||||images|||person||||blue||||common|||||css|||||images||||images|||pwblue||||images|||pwglight||||images|||pwlake||||images|||pwpink||||images||templets|plus/*系统插件存放目录*/||guestbook/*留言板插件*/|||images||img|||face||paycenter|||alipay|||cbpayment|||nps|||tenpay|||yeepay||task|special/*专题存放目录*/|templets/*织梦模板存放目录*/||default/*系统默认模板目录*/||images|||mood||js||plus/*插件页面的模板文件存放目录*/||style/*默认模板存放的CSS样式*/||system/*系统核心底层模板文件夹*/||wap/*那个wap模块的样式目录了*/|uploads/*文件上传存放目录*/||allimg/*图片*/|||090731||flink/*友情链接图片*/||litimg/*缩略图*/||media/*多媒体存放目录*/||soft/*软件*/||userup/*用户文件存放,例如那些头像什么的*/在了解了Dedecms根目录的结构以后,下面来看一看几个在二次开发中比较重要的部分。
dedecms全局标记 ( V55, V56, V57 )adminname (基本语法)获得责任编辑名称{dede:adminname /}arclist (基本语法)获取指定文档列表{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}标签属性:∙flag:自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]∙typeid:栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目∙row:返回文档列表总数∙col:分多少列显示(默认为单列),5.3版中本属性可以通过多种方式进行多行显示∙titlelen:标题长度等同于titlelength∙infolen:表示内容简介长度等同于infolength∙imgwidth:缩略图宽度∙imgheight:缩略图高度∙listtype: 栏目类型image含有缩略图commend推荐∙keyword:含有指定关键字的文档列表,多个关键字用","分∙limit:(起始ID从0开始)表示限定的记录范围(如:limit='1,2' 表示从ID为1的记录开始,取2条记录∙getall:在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类∙orderby:文档排序方式∙innertext:单条记录样式∙aid:指定文档ID∙idlist:提取特定文档(文档ID∙channelid:频道ID∙noflag:同flag,但这里是表示不包含这些属性∙orderway:值为desc 或asc ,指定排序方式是降序还是顺向排序,默认为降序∙subday:表示在多少天以内的文档Arclistsg(基本语法)单表独立模型的文档列表调用标记{dede:arclistsg flag='h' typeid='' row='' col='' titlelen='' orderway='' keyword='' limit='0,1'}<a href='[field:arcurl/]'>[field:title/]</a>{/dede:arclistsg}标签属性∙row:返回文档列表总数∙typeid:栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目∙titlelen:标题长度等同于titlelength∙orderwey:排序方向∙keyword:含有指定关键字的文档列表,多个关键字用","分∙innertext:单条记录样式(innertext是放在标签之间的代码)∙arcid:指定文档ID∙idlist:提取特定文档(文档ID)∙channelid: 频道ID∙limit:表示限定的记录范围∙flag:自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]∙subday:表示在多少天以内的文档ask (基本语法)问答调用标签{dede:ask row='6' qtype='new' tid='0' titlelen='24'}<dd><span class="tclass">[<ahref='[field:typeurl/]'>[field:tidname/]</a>]</span><span class="tlink"><a href="[field:url/]">[field:title/]</a></span></dd>{/dede:ask}标签属性∙row:调用条数∙qtype:排序类型commend 推荐、ok 表示已解决问题、high 高分问题、new 最新问题∙tid:栏目id,默认是全部∙titlelen:标题长度autochannel (基本语法)指定排序位置的单个栏目的链接{dede:autochannel partsort='' typeid=’’}{/dede:autochannel}标签属性∙partsort:栏目所在的排序位置∙typeid:获取单个栏目的顶级栏目bookcontentlist(基本语法)连载图书最新内容调用{dede:bookcontentlist row='12' booktype='-1' orderby='lastpost' author='' keyword=''}<table width="100%" border="0" cellspacing="2" cellpadding="2"><tr><td width='40%'>[[field:cataloglink/]] [field:booklink/]</td><td width='40%'>[field:contentlink/]</td><td width='20%'>[field:lastpost function="GetDateMk(@me)"/]</td> </tr></table>{/dede:bookcontentlist}标签属性∙row:调用记录条数∙booktype:图书类型,0 图书、1 漫画,默认全部∙orderby:排序类型,当按排序类型为commend 表示推荐图书∙author:作者∙keyword:关键字booklist (基本语法)连载图书调用{dede:booklist row='12' booktype='-1' orderby='lastpost' author='' keyword=''}<a href='[field:bookurl /]'>[field:bookname /]</a><br />{/dede:booklist}标签属性∙row:调用记录条数∙booktype:图书类型,0 图书、1 漫画,默认全部∙orderby:排序类型,当按排序类型为commend 表示推荐图书∙author:作者∙keyword:关键字cattree(基本语法)调用树形类目{dede:cattree typeid='' catid='' showall=''/}标签属性∙typeid:顶级树id∙catid:上级栏目id∙showall:在空或不存在时,强制用产品模型id;如果是yes 刚显示整个语言区栏目树;为其它数字则是这个数字的模型的idchannel (基本语法)用于获取栏目列表{dede:channel type='top' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}<li><a href='[field:typelink/]'>[field:typename/]</a> </li>{/dede:channel}标签属性∙typeid:栏目ID∙reid:上级栏目ID∙row:调用栏目数∙col:分多少列显示(默认为单列)∙type:son表示下级栏目,self表示同级栏目,top顶级栏目∙currentstyle:应用样式channelartlist (基本语法)获取当前频道的下级栏目的内容列表标签{dede:channelartlist row=6}<dl><dt><a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a></dt><dd>{dede:arclist titlelen='42' row='10'} <ul class='autod'><li><a href="[field:arcurl /]">[field:title /]</a></li><li>([field:pubdate function="MyDate('m-d',@me)"/])</li></ul>{/dede:arclist}</dl>{/dede:channelartlist}标签属性∙typeid:频道ID∙row:获取的栏目返回值demotag(基本语法)这仅是一个演示标签{dede:demotag /}用于调用最新评论{dede:feedback}<ul><li class='fbtitle'>[field:username function="(@me=='guest' ? '游客' : @me)"/] 对[field:title/] 的评论:</li><li class='fbmsg'> <a href="plus/feedback.php?aid=[field:aid/]"class='fbmsg'>[field:msg /]</a></li></ul>{/dede:feedback}标签属性∙row:调用评论条数∙titlelen:标题长度∙infolen:评论长度flink (基本语法)用于获取友情链接{dede:flink row='24'/}标签属性∙type:链接类型∙row:链接数量∙titlelen:站点文字的长度∙linktype:链接位置内页∙typeid:所有类型,可以在系统后台[模块]-[友情链接]中的“网站类型管理”中查看用于获取友情链接类型{dede:flink row='24'/}标签属性∙row:链接类型数量∙titlelen:链接文字的长度group(基本语法)圈子调用标签{dede:group row='6' orderby='threads' titlelen='30'}<li><span><img style="visibility: inherit;" title="[field:groupname/]"src="[field:icon/]" /></span><span><a href="[field:url/]" title="[field:groupname/]"target="_blank">[field:groupname/]</a></span></li>{/dede:group}标签属性∙row:调用条数∙orderby:排列顺序(默认是主题数)∙titlelen:圈子名称最大长度圈子主题调用标签{dede:groupthread gid='0' orderby='dateline' orderway='desc' row='12' titlelen='30'}<li><a href='[field:groupurl/]' target="_blank">[[field:groupnamefunction="cn_substr(@me,10)"/]]</a><a href="[field:url/]" title="[field:subject/]"target="_blank">[field:subject/]</a>([field:lastpostfunction="GetDateMk('@me')"/])</li>{/dede:groupthread}标签属性∙gid:圈子id,默认为全部∙orderby:排序,默认为时间∙orderway:排序方向,默认是最新主题在前∙row:记录数∙titlelen:主题标题(subject)最大长度hotwords(基本语法)获取网站搜索的热门关键字{dede:hotwords /}标签属性∙num:关键词数目∙subday:天数∙maxlength:关键词最大长度分类信息的地区与小分类搜索{dede:infoguide /}Infolink(基本语法)调用分类信息地区与类型快捷链接{dede:infolink /}Json(基本语法)调用某个远程连接的json数据库{dede:json url='http://yoursite/json.php' cache=300}[field:id/]-[field:title/]<br/>{/dede:json}标签属性∙url:json数据地址∙cache:缓冲时间likearticle(基本语法){dede:likearticle row='' col='' titlelen='' infolen=''}<a href='[field:arcurl/]'>[field:title/]</a>{/dede:likearticle}标签属性∙col:分多少列显示(默认为单列)∙row:返回文档列表总数∙titlelen:标题长度等同于titlelength∙infolen:表示内容简介长度等同于infolength∙mytypeid:手工指定要限定的栏目id,用,分开表示多个∙innertext:单条记录样式(指标签中间的内容)likepage(基本语法)调用相同标识单页文档{dede:likepage likeid='' row=''/}标签属性∙row:调用条数∙likeid:标识名likesgpage(基本语法)单页文档调用标签{dede:likespage row=''/}标签属性∙row:调用条数loop(基本语法)调用任意表的数据标签{dede:loop table='dede_archives' sort='' row='4' if=''}<a href='[field:arcurl/]'>[field:title/]</a>{/dede:loop}标签属性∙table:查询表名∙sort:用于排序的字段∙row:返回结果的条数∙if:查询的条件memberinfos(基本语法)文档关连的用户信息{dede:memberinfos mid = '' /}标签属性∙mid:用户IDmemberlist (基本语法)会员信息调用标签{dede:memberlist orderby='scores' row='20'}<a href="../member/index.php?uid={dede:erid/}">{dede:erid /}</a><span>{dede:field.scores /}</span>{/dede:memberlist}标签属性∙row:调用数目∙iscommend:是否为推荐会员∙orderby:按登陆时间排序money 按金钱排序scores 按积分排序myad (基本语法)获取广告代码{dede:myad name=''/}标签属性∙typeid:投放范围,0为全站∙name:广告标识mynews (基本语法)站内新闻调用标签{dede:mynews row='' titlelen=''/}标签属性∙row:调用站内新闻数∙titlelen:新闻标题长度mytag (基本语法)用于获取自定义宏标记的内容{dede:mytag typeid='0' name=''/}标签属性∙name:标记名称,该项是必须的属性,以下2、3是可选属性∙ismake:默认是no 表示设定的纯HTML代码,yes 表示含板块标记的代码∙typeid:表示所属栏目的ID,默认为0 ,表示所有栏目通用的显示内容,在列表和文档模板中,typeid默认是这个列表或文档本身的栏目IDphp (基本语法)调用PHP代码{dede:php}$a = "dede";echo $a;{/dede:php}Softmsg (基本语法)软件内容模板下载说明标签{dede:softmsg /}Sonchannel (基本语法)全局标记子栏目调用标签{dede:sonchannel}<a href='[field:typeurl/]'>[field:typename/]</a>{/dede:sonchannel}标签属性∙row:返回数目∙col:默认单列显示∙nosonmsg:没有指定ID子栏目显示的信息内容sql (基本语法)全局标记用于获取MySQL数据库内容的标签{dede:sql sql='' db='default'}[field:title/]{/dede}标签属性∙sql:需要查询的sql语句∙appname: 默认为default,即当前dedecms的数据库,如果需要自定义,可以在data/tag/sql.inc.php中扩展,具体扩展方法查看配置文件头部说明tag (基本语法)TAG调用标签{dede:tag sort='new' getall='0'}<a href='[field:link/]'>[field:tag /]</a>{/dede:tag}标签属性∙row:调用条数∙sort:排序方式month,rand,week∙getall:获取类型0 为当前内容页TAG标记,1为获取全部TAG标记type (基本语法)表示指定的单个栏目的链接{dede:type}<a href="[field:typelink /]">[field:typename /]</a>{/dede:type}标签属性∙typeid:指定栏目IDvote (基本语法)用于获取一组投票表单{dede:vote id='' lineheight='22' tablewidth='100%' titlebgcolor='#EDEDE2' titlebackground='' tablebgcolor='#FFFFFF'/} {/dede}标签属性∙id:数字,当前投票ID∙lineheight:表格高度∙tablewidth:表格宽度∙titlebgcolor:投票标题背景色∙titlebackground:标题背景图∙tablebg:投票表格背景色文章来源:/xiaoweimv(小威MV)。