织梦DedeCMS调用二级子栏目或者循环调用多级栏目
dedecms调用副栏目文章怎么操作
dedecms调⽤副栏⽬⽂章怎么操作 最近ytkah的⽹站进⾏改版,添加了⼀些新栏⽬,做更精准的着陆页,有些⽂章⽐较简短并且很早以前就发布过了,如果再添加这样的⽂档就有点重复了,于是就想着⽤⽂章副栏⽬的属性,可却调不出来,怎么办?查找官⽅⽂档和教程,发现需要修改⼀下代码。
打开/include/taglib/arclist.lib.php,代码约位于295-296⾏,找到如下代码:if($CrossID=='') $orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')';else$orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.')'; 将它们改成if($CrossID=='') $orwheres[] = ' (arc.typeid IN ('.GetSonIds($typeid).') OR arc.typeid2 IN ('.GetSonIds($typeid).')) ';else$orwheres[] = ' (arc.typeid IN ('.GetSonIds($typeid).','.$CrossID.') OR arc.typeid2 IN ('.GetSonIds($typeid).','.$CrossID.')) '; 保存上传,重新⽣成⼀下⽂档,成功调⽤。
如果是动态的,请更新系统缓存。
然后就可以看到效果了。
dedecms栏目N级循环的方法
$innertext = $ctag->GetInnerText();
$cacheid = trim($cacheid);
if($cacheid !='') {
$likeType = GetCacheBlock($cacheid);
if($row['sonids']=='') $row['rel'] = '';
else $row['rel'] = " rel='dropmenu{$row['id']}'";
}
//处理同级栏目中,当前栏目的样式
$linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
$likeType .= $linkOkstr;
}
$reid = $envs['reid'];
}else{
$reid=0;
}
if($type==''||$type=='sun') $type="son";
if($innertext=='') $innertext = GetSysTemplets("channel_list.htm");
{
$row['sonids'] = $row['rel'] = '';
织梦DEDECMS频道页联动调用方法
最近想把行业做一个分类,分类调用到频道页面上去。
发现直接调用是无法实现的!那怎么才能实现呢?方法如下:行业的联动类别字段是:vocation 。
为了方便大家看我 vocation 都改成:“自定义联动类别字段名”相信大家能看的懂!第一修改:include\taglib\infolink.lib.php1.require_once(DEDEROOT.'/data/enums/infotype.php');下面添加2.3.4.require_once(DEDEROOT.'/data/enums/自定义联动类别字段名.php');5.6.function lib_infolink(&$ctag,&$refObj)7.{8. global $dsql,$nativeplace,$infotype,$自定义联动类别字段名,$hasSetEnumJs,$cfg_cmspath,$cfg_mainsite;9. global $em_nativeplaces,$em_infotypes,$em_自定义联动类别字段名s; //看清楚,这里后面的个S10.11.12.$fields = array('nativeplace'=>'','infotype'=>'','自定义联动类别字段名'=>'','typeid'=>$typeid, 'channelid'=>$channelid,'linkallplace'=>'','linkalltype'=>'','linkeall自定义联动类别字段名'=>'');13.14.$fields['nativeplace'] = $fields['infotype'] = $fields['自定义联动类别字段名'] = '';15.16.============================================================17.18.$fields['linkalltype'] = "<ahref='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$nativeplace}'>不限</a>";19.20.//下面添加一行21.22.$fields['linkeall自定义联动类别字段名'] = "<ahref='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$nativeplace}'>不限</a>";23.24.==============================================================25.26.搜索 if(is_array($ctp->CTags)) 在这句上面添加27.28.29. //自定义联动类别字段链接30. if(empty($自定义联动类别字段名))31. {32. foreach($em_自定义联动类别字段名s as $eid=>$em)33. {34. if($eid % 500 != 0) continue;35. $fields['自定义联动类别字段名'] .= " <ahref='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}& amp;自定义联动类别字段名={$eid}&nativeplace={$nativeplace}'>{$em}</a& gt;";36. }37. }38. else39. {40. $sontype = ( ($自定义联动类别字段名% 500 != 0) ? $自定义联动类别字段名: 0 );41. $toptype = ( ($自定义联动类别字段名% 500 == 0) ? $自定义联动类别字段名: ( $自定义联动类别字段名-($membertypeP0) ) );42. $fields['自定义联动类别字段名'] = "<ahref='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}& amp;自定义联动类别字段名={$toptype}&nativeplace={$nativeplace}'><b> {$em_自定义联动类别字段名s[$toptype]}</b></a> ";43. foreach($em_自定义联动类别字段名s as $eid=>$em)44. {45. if($eid < $toptype+1 || $eid > $toptype+499) continue;46. if($eid == $自定义联动类别字段名) {47. $fields['自定义联动类别字段名'] .= " <b>{$em}</b>";48. }49. else {50. $fields['自定义联动类别字段名'] .= " <ahref='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}& amp;自定义联动类别字段名={$eid}&nativeplace={$nativeplace}'>{$em}</a& gt;";51. }52. }53. }54.55.//以上文件修改完了!第二修改: plus\list.php 文件1.搜索 $infotype = ( (empty($infotype) || !is_numeric($infotype)) ? 0 :$infotype ); 在下面添加一句2.3.$自定义联动类别字段名= ( (empty($自定义联动类别字段名) || !is_numeric($自定义联动类别字段名)) ? 0 : $自定义联动类别字段名);4.5.6.再搜索if(!empty($infotype)) $cArr['infotype'] = $infotype; 在下面添加7.8. if(!empty($自定义联动类别字段名)) $cArr['自定义联动类别字段名'] = $自定义联动类别字段名;第三修改:include\arc.sglistview.class.php 文件1.搜索 if(!empty($this->searchArr['keyword'])) 在上面添加2.3.4. //自定义联动类别5.6. if(!empty($this->searchArr['自定义联动类别字段名']))7. {8. if($this->searchArr['自定义联动类别字段名'] % 500 ==0 )9. {10. $naddQuery .= " And arc.自定义联动类别字段名>='{$this->searchArr['自定义联动类别字段名']}' And arc.自定义联动类别字段名<'".($this->searchArr['自定义联动类别字段名']+500)."'";11. }12. else13. {14. $naddQuery .= "And arc.自定义联动类别字段名='{$this->searchArr['自定义联动类别字段名']}'";15. }16. }第四修改:include\taglib\infoguide.lib.php1.找到 $fields['infotype'] .= '<scriptlanguage="javascript">MakeTopSelect("infotype", '.$infotype.');</script>'."\r\n";2.3.4.在其下面添加:5. $fields['自定义联动类别字段名'] .= "<input type='hidden' id='hidden_自定义联动类别字段名' name='自定义联动类别字段名' value='{$自定义联动类别字段名}' />\r\n";6. $fields['自定义联动类别字段名'] .= "<span class='infosearchtxt'>类型:</span><span id='span_自定义联动类别字段名'></span>\r\n";7. $fields['自定义联动类别字段名'] .= "<span id='span_自定义联动类别字段名_son'></span><br />\r\n";8. $fields['自定义联动类别字段名'] .= "<script language='javascript'type='text/javascript' src='{$cfg_mainsite}{$cmspath}data/enums/自定义联动类别字段名.js'></script& gt;\r\n";9. $fields['自定义联动类别字段名'] .= '<scriptlanguage="javascript">MakeTopSelect("自定义联动类别字段名", '.$自定义联动类别字段名.');</script>'."\r\n";以上四个页面全部改完之后,请你到所属模型里添加字段!我以vocation为例吧我的频道页面用的是分类信息模型infos 那么我就要在这里里面添加一个字段vocation 数据类型选择联动!然后点击一键生成,就算好了!演示图:。
织梦默认模版调用2级菜单的方法
1、首先:将下面这段代码贴到templets\default\footer.htm文件里(只要在此文件里就行,位置无所谓啦!自己看着办!)[html]view plaincopy1.<!-- //二级子类下拉菜单,考虑SEO原因放置于底部 -->2.<script type='text/javascript'src='{dede:global.cfg_cmsurl/}/images/js/dropdown.js'></script>3. {dede:channelartlist typeid='top'cacheid='channelsonlist'}4.<ul id="dropmenu{dede:field.typeid/}"class="dropMenu">5. {dede:channel type='son'noself='yes'}6.<li><a href="[field:typelink/]">[field:typename/]</a></li>7. {/dede:channel}8.</ul>9. {/dede:channelartlist}10.<script type="text/javascript">cssdropdown.startchrome("navMenu")</script>以上代码可以看出,二级子类下拉菜单是由dropdown.js控制的,我们来看dropdown.js文件:由以上的cssdropdown.startchrome("navMenu"),可以看出我们调用的是 startchrome:function()[javascript]view plaincopy1.var cssdropdown={2.disappeardelay: 250,3.disablemenuclick: false,4.enableswipe: 1,5.enableiframeshim: 1,6.dropmenuobj: null, ie: document.all, firefox: document.getElementById&&!document.all, swipetimer: undefined, bottomclip:0,7.8.getposOffset:function(what, offsettype){9.var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;10.var parentEl=what.offsetParent;11.while (parentEl!=null){12.totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;13.parentEl=parentEl.offsetParent;15.return totaloffset;16.},17.18.swipeeffect:function(){19.if (this.bottomclip<parseInt(this.dropmenuobj.offsetHeight)){20.this.bottomclip+=10+(this.bottomclip/10)21.this.dropmenuobj.style.clip="rect(0 auto "+this.bottomclip+"px 0)"22.}23.else24.return25.this.swipetimer=setTimeout("cssdropdown.swipeeffect()", 10)26.},27.28.showhide:function(obj, e){29.if (this.ie || this.firefox)30.this.dropmenuobj.style.left=this.dropmenuobj.style.top="-500px"31.if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover"){32.if (this.enableswipe==1){33.if (typeof this.swipetimer!="undefined")34.clearTimeout(this.swipetimer)35.obj.clip="rect(0 auto 0 0)"36.this.bottomclip=037.this.swipeeffect()38.}39.obj.visibility="visible"40.}41.else if (e.type=="click")42.obj.visibility="hidden"43.},44.45.iecompattest:function(){46.return (patMode && patMode!="BackCompat")? document.documentElement : document.body47.},48.49.clearbrowseredge:function(obj, whichedge){50.var edgeoffset=051.if (whichedge=="rightedge"){52.var windowedge=this.ie && !window.opera? this.iecompattest().scrollLeft+this.iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-1553.this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetWidth54.if (windowedge-this.dropmenuobj.x < this.dropmenuobj.contentmeasure)55.edgeoffset=this.dropmenuobj.contentmeasure-obj.offsetWidth57.else{58.var topedge=this.ie && !window.opera? this.iecompattest().scrollTop : window.pageYOffset59.var windowedge=this.ie && !window.opera? this.iecompattest().scrollTop+this.iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-1860.this.dropmenuobj.contentmeasure=this.dropmenuobj.offsetHeight61.if (windowedge-this.dropmenuobj.y < this.dropmenuobj.contentmeasure){62.edgeoffset=this.dropmenuobj.contentmeasure+obj.offsetHeight63.if ((this.dropmenuobj.y-topedge)<this.dropmenuobj.contentmeasure)64.edgeoffset=this.dropmenuobj.y+obj.offsetHeight-topedge65.}66.}67.return edgeoffset68.},69.70.dropit:function(obj, e, dropmenuID){71.if (this.dropmenuobj!=null)72.this.dropmenuobj.style.visibility="hidden"73.this.clearhidemenu()74.if (this.ie||this.firefox){75.obj.onmouseout=function(){cssdropdown.delayhidemenu()}76.obj.onclick=function(){return !cssdropdown.disablemenuclick}77.this.dropmenuobj=document.getElementById(dropmenuID)78.if(!this.dropmenuobj) return;79.this.dropmenuobj.onmouseover=function(){cssdropdown.clearhidemenu()}80.this.dropmenuobj.onmouseout=function(e){cssdropdown.dynamichide(e)}81.this.dropmenuobj.onclick=function(){cssdropdown.delayhidemenu()}82.this.showhide(this.dropmenuobj.style, e)83.this.dropmenuobj.x=this.getposOffset(obj, "left")84.this.dropmenuobj.y=this.getposOffset(obj, "top")85.this.dropmenuobj.style.left=this.dropmenuobj.x-this.clearbrowseredge(obj, "rightedge")+"px"86.this.dropmenuobj.style.top=this.dropmenuobj.y-this.clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+1+"px"87.this.positionshim()88.}89.},90.91.positionshim:function(){92.if (this.enableiframeshim && typeof this.shimobject!="undefined"){93.if (this.dropmenuobj.style.visibility=="visible"){94.this.shimobject.style.width=this.dropmenuobj.offsetWidth+"px"95.this.shimobject.style.height=this.dropmenuobj.offsetHeight+"px"96.this.shimobject.style.left=this.dropmenuobj.style.left97.this.shimobject.style.top=this.dropmenuobj.style.top98.}99.this.shimobject.style.display=(this.dropmenuobj.style.visibility=="visible")? "block" : "none"100.}101.},102.103.hideshim:function(){104.if (this.enableiframeshim && typeof this.shimobject!="undefined")105.this.shimobject.style.display='none'106.},107.108.contains_firefox:function(a, b) {109.while (b.parentNode)110.if ((b = b.parentNode) == a)111.return true;112.return false;113.},114.115.dynamichide:function(e){116.var evtobj=window.event? window.event : e117.if (this.ie&&!this.dropmenuobj.contains(evtobj.toElement))118.this.delayhidemenu()119.else if (this.firefox&&e.currentTarget!= evtobj.relatedTarget&& !this.conta ins_firefox(evtobj.currentTarget, evtobj.relatedTarget))120.this.delayhidemenu()121.},122.123.delayhidemenu:function(){124.this.delayhide=setTimeout("cssdropdown.dropmenuobj.style.visibility='hidden '; cssdropdown.hideshim()",this.disappeardelay)125.},126.127.clearhidemenu:function(){128.if (this.delayhide!="undefined")129.clearTimeout(this.delayhide)130.},131.132.startchrome:function(){133.for (var ids=0; ids<arguments.length; ids++){134.var menuitems=document.getElementById(arguments[ids]).getElementsByTagName( "a")135.for (var i=0; i<menuitems.length; i++){136.if (menuitems[i].getAttribute("rel")){137.var relvalue=menuitems[i].getAttribute("rel")138.menuitems[i].onmouseover=function(e){139.var event=typeof e!="undefined"? e : window.event140.cssdropdown.dropit(this,event,this.getAttribute("rel"))141.}142.}143.}144.}145.if (window.createPopup && !window.XmlHttpRequest){146.document.write('<IFRAME id="iframeshim" src="" style="display: none; left: 0; top: 0; z-index: 90; position: absolute; filter: progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)" frameBorder="0" scrolling="no"></IFRAME>' )147.this.shimobject=document.getElementById("iframeshim")148.}149.}150.151.}由上可以看出,var cssdropdown变量中有多个函数:getposOffset:function(what, offsettype)swipeeffect:function()showhide:function(obj, e)iecompattest:function()clearbrowseredge:function(obj, whichedge)dropit:function(obj, e, dropmenuID)positionshim:function()hideshim:function()dynamichide:function(e)delayhidemenu:function()clearhidemenu:function()startchrome:function()2、然后,奇迹就出现了,跟新一下!会发现导航栏已经出现下拉菜单了,只是背景是透明的,原因是没有背景图片。
织梦标签调用大全
织梦标签调用大全网站名称:{dede:global.cfg_webname/}网站根网址:{dede:global.cfg_basehost/}网站根目录:{dede:global.cfg_cmsurl/}网页主页链接:{dede:global.cfg_indexurl/}网站描述:{dede:global.cfg_description/}网站关键字:{dede:global.cfg_keywords/}模板路径:{dede:global.cfg_templets_skin/}调用页面:{dede:include filename="head.htm"/}网站编码:{dede:global.cfg_soft_lang/}-----------------------------------------------------------------------------------------------调用日期:[field:pubdate function=MyDate('y-m-d',@me)/]调用时间2:[field:pubdate function="GetDateTimeMK(@me)"/]调用缩略图:{dede:arclist row=10 orderby=pubdate type='image.' imgwidth='定义图片宽度' img height='高度'}[field:image/]{/dede:arclist}调用缩略图原图:[field:litpic runphp='yes']$youjoys = array("-lp", "_lit");@me = str_replace ($youjoys, "", @me);[/field:litpic]调用单个栏目:{dede:type}<a href="[field:typelink /]">[field:typename /]</a>{/dede:type}-----------------------------------------------------------------------------------------------文章标题:{dede:field.title/}文章描述:{dede:field.description function='html2text(@me)'/}文章关键词:{dede:field.keywords/}当前位置:{dede:field name='position'/}文章时间:{dede:field.pubdate function="MyDate('Y-m-d H:i',@me)"/}文章来源:{dede:field.source/}文章作者:文章内容:{dede:field.body/}{dede:field.writer/}上一篇:{dede:prenext get='pre'/}下一篇:{dede:prenext get='next'/}点击量:<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:fi eld name='id'/}&mid={dede:field name='mid'/}" type='text/javascript' language="ja vascript"></script>----------------------------------------------------------------------------------------------- channel|频道标签:标签名称:channel标记简介:织梦常用标记,通常用于网站顶部以获取站点栏目信息,方便网站会员分类浏览整站信息功能说明:用于获取栏目列表适用范围:全局使用基本语法:{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 = '0' 栏目IDreid = '0' 上级栏目IDrow = '100' 调用栏目数col = '1' 分多少列显示(默认为单列)type = 'son | sun' son表示下级栏目,self表示同级栏目,top顶级栏目currentstyle = '' 应用样式底层模板字段:ID(同id),typeid, typelink, typename, typeurl,typedir(仅表示栏目的网址)[field:id/][field:typeid/][field:typelink/] 调用栏目名称,点击直接跳转该栏目列表[field:typename/] 调用栏目名称,无链接[field:typeurl/][field:typedir/]例:{dede:channel type='top'}<a href='[field:typelink /]'>[field:typename/]</a>{/dede:channel}注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='son'就表示栏目一的所有子类--------------------------------------------------------------------------------------------arclist|文档列表:标签名称:arclist标记简介:织梦常用标记,也称为自由列表标记,其中imglist、imginfolist、specart、c oolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。
dedecms调用当前栏目的子栏目的两种方法分享
方法一:可以调用当前栏目的子栏目。
功能说明:子栏目调用标签
适用范围:全局使用
基本语法:
代码如下:
{dede:sonchannel}
<a href='[field:typeurl/]'>[field:typename/]</a>
{/dede:sonchannel}
参数说明:
row ='100' 返回数目
col = '1' 默认单列显示
nosonmsg = '' 没有指定id子栏目显示的信息内容
方法二:调用当前栏目的子栏目
功能说明:子栏目调用标签
适用范围:全局使用
基本语法:
代码如下:
{dede:channel type='son' noself='yes'}
<li><a href=[field:typelink/]>[field:typename/]</a></li> {/dede:channel}
随意调用:
代码如下:
{dede:channel type='son' typeid=‘栏目id’noself='yes'}
<li><a href=[field:typelink/]>[field:typename/]</a></li> {/dede:channel}。
dedecms5.7完美解决顶级栏目和子栏目的调用问题
在网上找了很多实现顶级栏目和子级栏目的方法,但在de的最新版本5.7中却一直出现问题,要不显示不出来,要不直接就把标签给显示出来,很是纠结,当然这也是才思不敏捷导致的,漫长岁月终于解决,不才分享出来,望能解决遇到和我相同问题的朋友。
效果如图所示,假如要实现的效果图:代码段:<div><ul>{de:channelartlist typeid='top' cacheid='channelsonlist'}<li><h3><a href='{de:field name='typeurl'/}'>{de:field name='typename'/}</a></h3><ul>{de:channel type='son' noself='yes'}<li><a href='[field:typeurl/]'>[field:typename/]</a></li>{/de:channel}</ul></li>{/de:channelartlist}</ul></div>附:5.7版本之前的解决方法如,实现各级的子栏目li标签拥有自己的样式,同时还在一级父栏目的l标签i的a标记上绑定了id号,这样就可以通过css为每一个一级目录定制左侧的小图标。
<ul>{de:channelartlist typeid='top' row='7'}<li class="nav1"><b><a id="{de:field name='id'/}" href="{de:field name='typeurl'/}">{de:field name='typename'/}</a></b><ul class="fixfloat">{de:channel type='son' noself='yes'}<li><a href="[field:typelink/]">[field:typename/]</a></li>{/de:channel}</ul></li>{/de:channelartlist}</ul>Channelartlist:这个标签是系统中不多的一个支持嵌套的标签,这个标签通常使用在首页(含封面首页),用于输出一组栏目内容列表,我们可以看到默认模板首页。
将织梦的后台栏目授权增加至无限分类
用织梦做过比较大型的网站,或者建过多级栏目,并且对用户进行栏目授权的人可能遇到过,织梦默认的是最高只能授权到二级栏目,再往下分就不可以了。
这样就将整个指定的二级栏目及其下级的所有栏目都授权给了这个用户,但是有的时候,我们想要单独的给其授权某一个三级栏目或者四级栏目。
那么目前织梦的这个栏目设置就不合适了。
所以今天因为工作的需要我做了一下改动。
不以解决问题的学习都是耍流氓,今天既然遇到了这个问题,就应该想办法解决。
首先我看了一下这样改动之后会产生的影响。
第一,既然是这样的栏目可能是给外部的人用,所以要让之前所拥有的用户栏目授权不受影响,这样是最好了,因为我看了一下这个授权栏目的规则,其实就是通过一个admin表的typeid字段,只要指定一个或多个二级栏目的id,就可以在栏目管理,和发布文章,编辑文章的模块检索出这个id对应的一级栏目id和其下所有的多级栏目id,进行授权,这样他就可以管理这个整个的二级栏目了,那么我们要保证之前的所有用户的这个规则不变,而又对新加的这用外部用户定义一个新的规则。
之前写的url过滤,也是为了防止这些外部用户的。
第二,要同时修改文章发布和文章编辑的文章栏目选项。
所以,我们就要对这些用户加以区分了,区分内部用户和外部用户,所以我们可以在admin 加一个字段。
具体做法如下:我只是简单将一下,这里提供下载,将对应的文件覆盖一下就可以了。
点这里下载1、给admin表增加一个字段区分授权用户。
我加的是一个‘yesno’字段,1为授权用户,默认为0。
如果你不能直接操作数据库可用sql语句ALTER TABLE `dede_admin` ADD `yesno` SMALLINT( 1 ) NOT NULL DEFAULT '0' AFTER `loginip`2、修改系统用户管理的添加账户操作,这个是我修改之后将所有的栏目读出,默认的是只读到第二级栏目。
做法是借鉴了文章发布时的栏目选择。
织梦(DedeCms)调用上级栏目(父类)文章的方法(附代码)
织梦(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/”下就⾏了,下⾯是我临时写的⼀个标签,基本实现了前⽂所说的功能。
织梦CMS-常用的调用方法大全【自收藏】
{/dede:channel}
调用当前栏目的子栏目:
{dede:channel type='son' typeid='6' noself='yes'}
上一篇: {dede:prenextget=’pre’/}
下一篇: {dede:prenextget=’next’/}
调用相关文章:
{dede:arclistrow='10' titlelen='42' orderby='hot'}
<li>
<img alt="" src="/templets/sp/images/xgwz1.jpg"/>
<ahref='[field:typeurl/]'>[field:typename/]</a>
{/dede:channel}
隔五行换样式:
{dede:arclist typeid='1' titlelen='40' row='20' typeid="" }
<li [field:global name=autoindexrunphp="yes"](@me % 5 == 0)?@me="class=\"bline\"":@me="";[/field:global]><ahref="[field:arcurl/]">[field:title/]</a></li>
织梦DedeCMS调用二级子栏目或者循环调用多级栏目
织梦DedeCMS调用二级子栏目或者循环调用多级栏目织梦dedeCMS调用二级子栏目或者循环调用多级栏目在网站制作过程中经常都会遇到。
今天博主以DEDECMS v5.6版本调用代码作为示范,调用顶级栏目及其下的所有子栏目的代码。
进入正题:{dede:channelartlist typeid='3,3'}{dede:field name='typename'/}{dede:channel type='son'noself='yes'}[field:typename/]{/dede:channel}{/dede:channelartlist}如果是已经熟悉了dedecms代码朋友我想已经能看懂是什么意思了,但是还是解释一下。
{dede:channelartlist typeid='3,3'}typeid 为3的顶级栏目如果你的顶级栏目为其他,则相应的改之。
如果是循环调用很多个顶级目录和子目录怎么办呢?请往下看:{dede:channelartlist t ypeid='3,6‘}{dede:field name='typename'/}{dede:channel type='son'noself='yes'}[field:typename/]{/dede:channel}{/dede:channelartlist}请看红色部分,意思是调用顶级栏目为3,4,5,6,的顶级栏目了。
简单吧!如果有疑问,直接复制代码到模板去不断测试就知道其原理了。
也测试过这两种方式,不过不尽其意:1:下面是官方的解释:【Channel标记】功能说明:用于获取栏目列表适用范围:封面模板、列表模板、文档模板(1)基本语法{dede:channel row=''type=''}自定义样式模板(InnerText){/dede:channel}(2)属性[1]row='数字'表示获取记录的条数(通用在某级栏目太多的时候使用,默认是8)[2]type=top,sun/son,selftype='top'表示顶级栏目type='son'或'sun'表示下级栏目type='self'表示同级栏目其中后两个属性必须在列表模板中使用。
dedecms中实现列表页面调用其它栏目的信息
dedecms中实现列表页面调用其它栏目的信息Posted on June 4th, 2008 by 肥龙龙 | 1,718 views群里有人问如何在dedecms中实现列表页面调用不同栏目的文章信息,以下给出解决方法,针对dedecms4.0。
首先,为dedecma增加一个标签的属性,我修改的标签为【List 标记】增加属性addonid,使用方法为:addonid= ‘调用的栏目编号’,不同的栏目请用半角“,”的分隔,这些栏目必须是最终列表栏目,同时不必在这个栏目编号中增加本栏目的编号。
例子:{dede:list pagesize=’2′ addonid=’1,2′} {/dede:list}继续修改include/inc_arclist_view.php,这个比较麻烦,不会的话,直接拷贝粘贴。
第一步,新增$addonid变量,如下:class ListView{var $dsql;var $dtp;var $dtp2;var $TypeID;var $TypeLink;var $PageNo;var $TotalPage;var $TotalResult;var $PageSize;var $ChannelUnit;var $ListType;var $Fields;var $PartView;var $StartTime;var $addonid; //这里为新增的变量……第二步:获得模板中的addonid的值,并且统计文章总数,修改function CountRecord()函数:原本代码为://——————//统计列表里的记录//——————function CountRecord(){global $cfg_list_son;//统计数据库记录$this->TotalResult = -1;if(isset($GLOBALS[’TotalResult’])) $this->TotalResult = $GLOBALS[’TotalResult’];if(isset($GLOBALS[’PageNo’])) $this->PageNo = $GLOBALS[’PageNo’];else $this->PageNo = 1;if($this->T otalResult==-1){$addSql = ” arcrank > -1 “;if($cfg_list_son==’否’) $addSql .= ” And (typeid=’”.$this->TypeID.”‘ or typeid2=’”.$this->TypeID.”‘) “;else $addSql .= ” And (”.$this->TypeLink->GetSunID($this->TypeID,”#@__archives”, $this->Fields[’channeltype’]).” Or #@__archives.typeid2=’”.$this->TypeID.”‘) “;if($this->StartTime>0) $addSql .= ” And senddate>’”.$this->StartTime.”‘”;$cquery = “Select count(*) as dd From #@__a rchives where $addSql”;$row = $this->dsql->GetOne($cquery);if(is_array($row)) $this->TotalResult = $row[’dd’];else $this->TotalResult = 0;}//初始化列表模板,并统计页面总数$tempfile = $GLOBALS[’cfg_basedir’].$GLOBALS[’cfg_templets_dir’].”/”.$this->TypeLink->TypeInf os[’templist’];$tempfile = str_replace(”{tid}”,$this->TypeID,$tempfile);$tempfile = str_replace(”{cid}”,$this->ChannelUnit->ChannelInfos[’nid’] ,$tempfile);if(!file_exists($tempfile)){$tempfile = $GLOBALS[’cfg_basedir’].$GLOBALS[’cfg_templets_dir’].”/”.$GLOBALS[’cfg_df_style’].”/list_default.htm”;}if(!file_exists($tempfile)||!is_file($tempfile)){echo “模板文件:’”.$tempfile.”‘ 不存在,无法解析文档!”;exit();}$this->dtp->LoadT emplate($tempfile);$ctag = $this->dtp->GetTag(”page”);if(!is_object($ctag)){ $ctag = $this->dtp->GetTag(”list”); } if(!is_object($ctag)) $this->PageSize = 20;else{if($ctag->GetAtt(”pagesize”)!=”") $this->PageSize = $ctag->GetAtt(”pagesize”);else $this->PageSize = 20;}$this->TotalPage = ceil($this->T otalResult/$this->PageSize);}修改为://——————//统计列表里的记录//——————function CountRecord(){global $cfg_list_son;//初始化列表模板,并统计页面总数$tempfile = $GLOBALS[’cfg_basedir’].$GLOBALS[’cfg_templets_dir’].”/”.$this->TypeLink->TypeInfos[’templist’];$tempfile = str_replace(”{tid}”,$this->TypeID,$tempfile);$tempfile = str_replace(”{cid}”,$this->ChannelUnit->ChannelInfos[’nid’] ,$tempfile);if(!file_exists($tempfile)){$tempfile = $GLOBALS[’cfg_basedir’].$GLOBALS[’cfg_templets_dir’].”/”.$GLOBALS[’cfg_df_style’].”/list_default.htm”;}if(!file_exists($tempfile)||!is_file($tempfile)){echo “模板文件:’”.$tempfile.”‘ 不存在,无法解析文档!”;exit();}$this->dtp->LoadT emplate($tempfile);$ctag = $this->dtp->GetTag(”page”);if(!is_object($ctag)){ $ctag = $this->dtp->GetTag(”list”); } if($ctag->GetAtt(”addonid”)!=”") $this->addonid = $ctag->GetAtt(”addonid”);if(!is_object($ctag)) $this->PageSize = 20;else{if($ctag->GetAtt(”pagesize”)!=”") {$this->PageSize = $ctag->GetAtt(”pagesize”);}else $this->PageSize = 20;}//统计数据库记录$this->TotalResult = -1;if(isset($GLOBA LS[’TotalResult’])) $this->TotalResult = $GLOBALS[’TotalResult’];if(isset($GLOBALS[’PageNo’])) $this->PageNo = $GLOBALS[’PageNo’];else $this->PageNo = 1;if($this->T otalResult==-1){$addSql = ” arcrank > -1 “;if($this->addonid!=”") $isaddon = ” Or #@__archives.typeid in (”.$this->addonid.”)”;else $isaddon = “”;if($cfg_list_son==’否’) $addSql .= ” And (typeid=’”.$this->TypeID.”‘ or typeid2=’”.$this->TypeID.”‘ “.$isaddon.”) “;else $addSql .= ” And (”.$this->TypeLink->GetSunID($this->TypeID,”#@__archives”, $this->Fields[’channeltype’]).” Or #@__archives.typeid2=’”.$this->TypeID.”‘ “.$isaddon.”) “;if($this->StartTime>0) $addSql .= ” And senddate>’”.$this->StartTime.”‘”;$cquery = “Select count(*) as dd From #@__archives where $addSql”;$row = $this->dsql->GetOne($cquery);if(is_array($row)) $this->TotalResult = $row[’dd’];else $this->TotalResult = 0;}$this->TotalPage = ceil($this->T otalResult/$this->PageSize);}说明,首先把统计数据库记录这部分代码后移,目的是为了利用获得的属性参数addonid,接着通过$this->addonid = $ctag->GetAtt(”addonid”);获得模板中的addonid的值,然后生成新的统计数据库的sql语句。
调用导航栏的顶级栏目、二级栏目及三级栏目
调用导航栏的顶级栏目、二级栏目及三级栏目织梦调用导航菜单栏目,随着javascript的运用,导航栏的子栏目越来越多,在dedecms 如何实现这些栏目的调用呢?●一般导航栏目的调用,该类栏目只有主栏目,没有子栏目,这类栏目一般适用于企业网站和个人网站。
其样式图如下:该类栏目的dedecms调用方法比较简单,如下:注释(参数):typeid='0' 栏目ID; reid = '0' 上级栏目ID; row = '100' 调用栏目数;col = '1' 分多少列显示(默认为单列);type = 'son | sun' son表示下级栏目,self表示同级栏目,top顶级栏目; currentstyle = '' 应用样式"。
这种方法会把后台的顶级栏目都调用出来,如果想有些栏目不被调用出来,可以加上参数typeid=‘所要调用栏目的id’。
对于调用指定的栏目可以用下面的标签:●带有二级子栏目的栏目的调用,这类网站用于信息分类比较多的网站,其样式图如下:这种栏目是比较常见的,其dedecms调用代码如下:对于没有子栏目的顶级栏目可以使用调用指定栏目的标签:{dede:type typeid=‘指定栏目的id’}<li><a href="[field:typelink /]">[field:typename /]</a></li>{/dede:type}这样可以实现上述栏目的调用。
3.有三级子栏目的调用代码,这类导航适用于商城等,其样式图如下:对于这种栏目的调用代码如下:<li><h3> {dede:type typeid='2'}<a href='[field:typelink/]' class="depth_1">[field:typename/]</a>{/dede:type}</h3> //顶级栏目的调用<ul class="children" style="display: none; "> {dede:channelartlist typeid='top' typeid='2'} //二级栏目和三级栏目的调用这里typeid='子栏目所属的顶级栏目的id' <li><h3 ><a href='{dede:field name='typeurl'/}' class="depth_2"><span class="icon10"></span>{dede:field name='typename'/}</a></h3> <ul> {dede:sql sql='Select * from dede_arctype where reid=~id~ ORDER BY id limit 0,20'} //limit 起始三级栏目id 显示栏目的条数<li><a href="[field:typedir function='str_replace("{cmspath}","",@me)'/]" class="depth_3">[field:typename/]</a></li> {/dede:sql} </ul> </li> {/dede:channelartlist} </ul> </li>这三类基本上包括了导航栏的调用方式,而且都经过测试可以放心使用。
dedecms最全标签调用大全(2022最新)
dedecms最全标签调用大全(2022最新)主页>>网站建设时间:10-06-2003:56:29点击:387--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------{dede:channeltype='top'row='8'currenttyle="<licla='thicla'>< ahref='~typelink~'>~typename~</a></li>"}<li><ahref='[field:typelink/]'target="_blank">[field:typenam e/]</a></li>{/dede:channel}--------------------------------------------------------------------------------/]{/dede:onetype}--------------------------------------------------------------------------------href='[field:typelink/]'>[field:typename/]</a></li>{/dede:ch annel}------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------name='phpurl'/}/count.phpaid={dede:fieldname='ID'/}&mid={ded e:fieldname='memberid'/}&view=ye"language="javacript"></cript> --------------------------------------------------------------------------------[<ahref="{dede:fieldname='phpurl'/}/feedback.phparcID={dede: fieldname=ID/}">评论</a>][<ahref="#"onClick="window.print();">打印</a>][<ahref="#"onClick="window.cloe();">关闭</a>]--------------------------------------------------------------------------------href="javacript:Digg('digg',{dede:fieldname='id'/});">顶一下</a>--------------------------------------------------------------------------------<pan>[field:decription/]</pan></dt>{/dede:arclit}--------------------------------------------------------------------------------orderby=pubdate}<li>[field:te某tlink/]</li>{/dede:arclit} ----------------------------------------------------------------------------------------------------------------------------------------------------------------<dd><ahref="[field:arcurl/]"><imgrc="[field:picname/]"alt="[field:title/]"></a><pan><atitle="[field:title/]">[field:title/]</a></pan></dd>{/dede:arclit}--------------------------------------------------------------------------------/]">[field:title/]</a></li>{/dede:arclit}--------------------------------------------------------------------------------href="[field:arcurl/]">[field:title/]</a></li>{/dede:likeart }--------------------------------------------------------------------------------调用图片链接标记:<ahref="[field:arcurl/]"><imgrc="[field:picname/]"alt="[field:title/]"></a><ahref='[field:arcurl/]'>[field:image/]</a>--------------------------------------------------------------------------------调用文字链接标记:<ahref="[field:aucurl/]"title="[field:title/]">[field:title/]</a>href="[field:arcurl/]">[field:title/]</a>--------------------------------------------------------------------------------控制字数描述标记:[field:decription--------------------------------------------------------------------------------调用文章tag标记:{dede:tagtype='current'/}--------------------------------------------------------------------------------文章关键字与描述:{dede:fieldname='keyword'/}--------------------------------------------------------------------------------调用外部htm文件:{dede:includefile='head.htm'imake='ye'/} --------------------------------------------------------------------------------name='keyword'/}</pan>的结果--------------------------------------------------------------------------------递增序列号:[field:globalname=autoinde某/]--------------------------------------------------------------------------------列表隔5行加一行线:{dede:litpageize='50'}<LI><ahref="[field:arcurl/]"title="[field:titletarget=_blank>[field:title$$day3=3600某24;[/field:pubdate]<br>[field:globalname=autoinde某runphp="ye"][/field:global]{/dede:lit}<DIVcla="line2m1m3"></DIV></LI>--------------------------------------------------------------------------------最新文章列表隔行换色的方法{dede:arclitorderby=pubdatetitlelen='26'row='10'}[field:globalrunphp='ye'name=autoinde某]$$a="<divid='a'>";$$b="<divid='b'>";[/field:global]<ul><li>[field:title/]</li></ul></div>{/dede:arclit}--------------------------------------------------------------------------------24小时内更新的文章时间显示为红色:[field:pubdaterunphp='ye']$$day3=3600某24;[/field:pubdate]--------------------------------------------------------------------------------COPY页面内容,自动在后面加上网站信息,利于SEO<cripttype="te某t/javacript">clipboardData.etData("te某t",te某t);}},100)}</cript>--------------------------------------------------------------------------------按总:{dede:arclitrow='24'titlelen=24orderby=click}按月:{dede:arclitrow='24'titlelen=8orderby=clickubday=30}按周:{dede:arclitrow='24'titlelen=8orderby=clickubday=7}在首页调用某栏目的子栏目{dede:channeltype=untypeid=栏目ID}<ahref=[field:typelink/]>[field:typename/]</a>{/dede:channel}或者{dede:globalname=maplit/}--------------------------------------------------------------------------------name='cfg_phpurl'/}/earch.php"name="formearch"><inputtype="hidden"name="kwtype"value="1"/><inputname="keyword"id="keyword"type="te某t"cla="earcht某t"/><electname="earchtype"id="earchtype"><optionvalue="titlekeyword"elected>智能模糊搜索</option><optionvalue="title">仅搜索标题</option></elect><inputtype="image"rc="{dede:fieldname='templeturl'/}/image/topearch_ubmit.gif"/></form>--------------------------------------------------------------------------------实现文章标题-2级栏目-1级栏目-网站名形式{dede:fieldname='title'/}-{dede:fieldname='poition'runphp='ye'}$$tc="-";//分隔符$$tw=$$GLOBALS['cfg_lit_ymbol'];//调用位置分隔符for($$ta=(count($$tf)-2);$$ta>=1;$$ta--){//循环赋值给$$tk$$tk.=trim($$tf[$$ta]).$$tc;}$$tk=ubtr($$tk,0,-1);{/dede:field}-{dede:globalname='cfg_webname'/}--------------------------------------------------------------------------------调用缩略图:<imgrc='{dede:fieldname="litpic"/}'>--------------------------------------------------------------------------------发布的文章显示红色日期或加上new字或new小图片给近三天(或当天)发布的文章显示红色日期或加上new字或new小图片等。
织梦DEDE模板调用标签大全详细完整总结篇
织梦DEDE模板调用标签大全-提高制作模板速度--------------------------------------------------------------------------------关键描述调用标签:<meta name="keywords" content="{dede:field name='keywords'/}"><meta name="description" content="{dede:field name='description' function='html2text(@me)'/}">--------------------------------------------------------------------------------模板路径调用标签: {dede:field name='templeturl'/}--------------------------------------------------------------------------------网站标题调用标签: {dede:global name='cfg_webname'/}--------------------------------------------------------------------------------栏目导航调用标签: <a href="/">首页</a></li>{dede:channel type='top' row='8' currentstyle="<li class='thisclass'><a href='~typelink~'>~typename~</a> </li>"}<li><a href='[field:typelink/]' target="_blank">[field:typename/]</a> </li>{/dede:channel}--------------------------------------------------------------------------------指定调用栏目标签:{dede:onetype typeid='ID'}[field:typename /]{/dede:onetype}--------------------------------------------------------------------------------频道栏目调用标签:{dede:channel type='self'}<li><a href='[field:typelink/]'>[field:typename/]</a></li>{/dede:channel} --------------------------------------------------------------------------------友情链接调用标签: {dede:flink row='24' linktype=2/}--------------------------------------------------------------------------------网站版权调用标签: {dede:global name='cfg_powerby'/}--------------------------------------------------------------------------------网站备案调用标签: {dede:global name='cfg_beian'/}--------------------------------------------------------------------------------当前栏目名称标签: {dede:field name='typename'/}--------------------------------------------------------------------------------当前位置调用标签: {dede:field name='position'/}--------------------------------------------------------------------------------列表文章调用标签: {dede:list pagesize='8'}{/dede:list}--------------------------------------------------------------------------------栏目链接调用标签:[field:typelink function='str_replace("a ","a class=ulink ",@me)'/]--------------------------------------------------------------------------------作者链接调用标签: [field:writer /]--------------------------------------------------------------------------------列表点击调用标签: [field:click/]--------------------------------------------------------------------------------列表评论调用标签: [field:postnum/]--------------------------------------------------------------------------------查阅全文调用标签: <a href="[field:arcurl/]">查阅全文...</a>--------------------------------------------------------------------------------列表时间调用标签: [field:pubdate function="GetDateTimeMK(@me)"/]--------------------------------------------------------------------------------列表分页调用标签:{dede:pagelist listsize='4' listitem='index pre pageno next end '/}--------------------------------------------------------------------------------文章标题调用标签: {dede:field name="title"/}--------------------------------------------------------------------------------文章来源调用标签: {dede:field name='source'/}--------------------------------------------------------------------------------文章作者调用标签: {dede:field name='writer' /}--------------------------------------------------------------------------------文章时间调用标签:{dede:field name='pubdate' function='GetDateMk(@me)'/}--------------------------------------------------------------------------------文章Tag调用标签: {dede:tag type='current'/}--------------------------------------------------------------------------------文章点击调用标签:<script src="{dede:field name='phpurl'/}/?aid={dede:field name='ID'/}&mid={dede:field name='memberid'/}&view=yes" language="javascript"></script>文章内容调用标签: {dede:field name='body'/}--------------------------------------------------------------------------------文章分页调用标签: {dede:pagebreak/}[<a href="{dede:field name='phpurl'/}/?arcID={dede:field name=ID/}">收藏</a>][<a href="{dede:field name='phpurl'/}/?arcID={dede:field name=ID/}">推荐</a>][<a href="{dede:field name='phpurl'/}/?arcID={dede:field name=ID/}">评论</a>][<a href="#" onClick="();">打印</a>][<a href="#" onClick="();">关闭</a>]--------------------------------------------------------------------------------文章顶客次数标签:{dede:field name='digg'/} <a href="javascript:Digg('digg',{dede:field name='id'/});">顶一下</a>--------------------------------------------------------------------------------上一篇下一篇标签: {dede:prenext get='pre'/}{dede:prenext get='next'/} --------------------------------------------------------------------------------头条推荐调用标签: {dede:arclist row=1 titlelen=24 orderby=pubdate att=2} <dt> [field:textlink/]<span>[field:description/]……</span> </dt> {/dede:arclist}--------------------------------------------------------------------------------最新文章调用标签:{dede:arclist row=8 titlelen=24 orderby=pubdate}<li>[field:textlink/]</li> {/dede:arclist}--------------------------------------------------------------------------------热关键字调用标签: {dede:hotwords num='5' subday='30'/}--------------------------------------------------------------------------------最新图文调用标签:{dede:arclist row=4 titlelen=20 orderby=pubdate type='image.' imgwidth='152' imgheight='98'}<dd><a href="[field:arcurl/]"><img src="[field:picname/]" alt="[field:title/]" ></a><span><a title="[field:title function='htmlspecialchars(@me)'/] " href="[field:arcurl /]">[field:title /]</a></span> </dd>{/dede:arclist}--------------------------------------------------------------------------------推荐文档调用标签: {dede:arclist type='commend' titlelen='40' row='10'} <li><a title="[field:title function='htmlspecialchars(@me)'/] " href="[field:arcurl /]">[field:title /]</a></li> {/dede:arclist}--------------------------------------------------------------------------------随机推荐调用标签:{dede:arclist type='commend' titlelen='26' orderby='rand' row='10'} <li><a title="[field:title function='htmlspecialchars(@me)'/] " href="[field:arcurl /]">[field:title /]</a></li> {/dede:arclist}--------------------------------------------------------------------------------热点文档调用标签: {dede:arclist orderby='click' titlelen='40' row='10'} <li><a title="[field:title function='htmlspecialchars(@me)'/] " href="[field:arcurl /]">[field:title /]</a></li> {/dede:arclist}--------------------------------------------------------------------------------相关文档调用标签:{dede:likeart titlelen='24' row='10'} <li><a title="[field:title function='htmlspecialchars(@me)'/] " href="[field:arcurl /]">[field:title /]</a></li> {/dede:likeart}--------------------------------------------------------------------------------调用图片链接标记:<a href="[field:arcurl/]"><img src="[field:picname/]" alt="[field:title/]" ></a><a href='[field:arcurl /]'>[field:image/]</a>--------------------------------------------------------------------------------调用文字链接标记:<a href="[field:aucurl/]" title="[field:title/]">[field:title/]</a><a title="[field:title function='htmlspecialchars(@me)'/] " href="[field:arcurl /]">[field:title /]</a>--------------------------------------------------------------------------------控制字数描述标记:[field:description function="cn_substr(@me,100)"/]...--------------------------------------------------------------------------------调用文章tags标记: {dede:tag type='current'/}--------------------------------------------------------------------------------文章关键字与描述: {dede:field name='keywords'/}{dede:field name='description' function='html2text(@me)'/}--------------------------------------------------------------------------------栏目介绍:{dede:field name='description' function='html2text(@me)'/}--------------------------------------------------------------------------------调用外部htm文件:{dede:include file='' ismake='yes'/}--------------------------------------------------------------------------------搜索文章调用标签:{dede:global name='keyword'/}"的搜索结果- {dede:global name='cfg_webname'/} 搜索" {dede:global name='keyword'/}</span>" 的结果--------------------------------------------------------------------------------递增序列号: [field:global name=autoindex/]--------------------------------------------------------------------------------列表隔5行加一行线:{dede:list pagesize='50'}<LI><a href="[field:arcurl /]" title="[field:title function='htmlspecialchars(@me)'/]"target=_blank>[field:titlefunction="cn_substr(@me,48)"/]</a>[field:pubdate runphp='yes']$a="<font color=red>".strftime('%m-%d',@me)."</font>";$b=strftime('%m-%d',@me);$ntime = time();$day3 = 3600 * 24;if(($ntime - @me) < $day3) @me = $a;else @me =$b;[/field:pubdate]<br>[field:global name=autoindex runphp="yes"]if(@me%5==0)@me="<hr />";else @me="";[/field:global]{/dede:list}<DIV class="line2 m1 m3"></DIV></LI>--------------------------------------------------------------------------------最新文章列表“隔行换色” 的方法{dede:arclist orderby=pubdate titlelen='26' row='10'}[field:global runphp='yes' name=autoindex]$a="<div id='a'>";$b="<div id='b'>";if ((@me%2)==0) @me=$a;else @me=$b;[/field:global]<ul><li>[field:title/]</li></ul></div>{/dede:arclist}--------------------------------------------------------------------------------24小时内更新的文章时间显示为红色:[field:pubdate runphp='yes']$a="<font color=red>".strftime('%m-%d',@me)."</font>";$b=strftime('%m-%d',@me);$ntime = time();$day3 = 3600 * 24;if(($ntime - @me) < $day3) @me = $a;else @me =$b;[/field:pubdate]--------------------------------------------------------------------------------COPY页面内容,自动在后面加上网站信息,利于SEO<script type="text/javascript">= function () { setTimeout( function () { var text = ("text"); if (text) { text = text + "\r\n本篇文章来源于地址.COM 原文链接:"+; ("text", text); } }, 100 ) }</script>--------------------------------------------------------------------------------按时间点击文章排行榜调用标签:按总: {dede:arclist row='24' titlelen=24 orderby=click}按月: {dede:arclist row='24' titlelen=8 orderby=click subday=30}按周: {dede:arclist row='24' titlelen=8 orderby=click subday=7}在首页调用某栏目的子栏目{dede:channel type=’sun’ typeid=’栏目ID’}<a href=”[field:typelink/]“>[field:typename/]</a>{/dede:channel}或者{dede:global name=’maplist’/}--------------------------------------------------------------------------------搜索表单调用标签: <form action="{dede:global name='cfg_phpurl'/}/" name="formsearch"><input type="hidden" name="kwtype" value="1" /><input name="keyword" id="keyword" type="text" class="searchtxt" /> <select name="searchtype" id="searchtype"><option value="titlekeyword" selected>智能模糊搜索</option><option value="title">仅搜索标题</option></select><input type="image" src="{dede:field name='templeturl'/}/images/" /> </form>--------------------------------------------------------------------------------实现“文章标题-2级栏目-1级栏目-网站名”形式{dede:field name='title'/}-{dede:field name='position' runphp='yes'} $tc="-"; trim($tf[$ta]).$tc;}$tk=substr($tk,0,-1);@me=$tk; trftime('%m-%d',@me)."</font>";$b=strftime('%m-%d',@me);$ntime = time();$day3 = 3600 * 24 * 3;if(($ntime - @me) < $day3) @me = $a;else @me =$b;[/field:pubdate]2、==========红色的(new)========[field:pubdate runphp='yes']$aa=strftime('%m-%d',@me);$ntime = time();$tagtime = @me;$day3 = 3600 * 24 * 3;if($tagtime > $ntime-$day3) @me = "<font color='red'>(new)</font>"; else @me = $aa;[/field:pubdate]3、==========加小图片========[field:pubdate runphp='yes']$aa=strftime('%m-%d',@me);$ntime = time();$tagtime = @me;$day3 = 3600 * 24 * 3;if($tagtime > $ntime-$day3) @me = "<img src='' />".$aa;else @me = $aa;[/field:pubdate]--------------------------------------------------------------------------------一种很酷的时间效果[field:pubdate runphp="yes"]if((time()-@me)<(60*60*24)){@me=' <font color="#ff6600">'.strftime("%H:%M",@me).'</FONT>';}else {@me=strftime("%m-%d",@me);}[/field:pubdate]--------------------------------------------------------------------------------DEDE seo小技巧加个百度搜索本篇文章【<a href="javascript:" target="_top" title="在百度搜索“{dede:field name="title" /}”相关内容"><font color=red>在百度搜索更多繁体字</font></a>】把你的网址改一下,不加http,演示:文章页或者【<a href="javascript:" target="_top" title="在百度搜索“{dede:field name="title" /}”相关内容"><font color=red>搜索舞步</font></a>】--------------------------------------------------------------------------------调用tag: {dede:field name='keywords' runphp='yes' }if(!empty(@me)){$kws = explode(' ',@me);@me = "";foreach($kws as $k){@me .= "<a href='/?/$k/'>$k</a> ";}@me= str_replace('+', ' ',trim(@me));}{/dede:field}--------------------------------------------------------------------------------真正采集热门Tags,刷新一次变换一次模板代码:{dede:tag row='10' sort='month' }<a class="tag" href='[field:link/]'>[field:tagname/] </a>{/dede:tag}<script language="javascript"><!--var tag_a=("a");for( i in tag_a){var offset=6;var num=4;if=="tag"){var rnd=((num+offset)*());if(rnd>offset){="tag"+(rnd-offset);}}}ag1 { color:#339900;font-weight:bold;}.tag2 { color:#e65730;}.tag3 { color:#00b9da;}.tag4 { color:#FE3981;font-weight:bold;font-size:14px;}更换标签方式:默认调用的是当月热门标签,如果换想其他的可以:--------------------------------------------------------------------------------最新标签{dede:tag row='30' sort='new'}<a href='[field:link/]'>[field:highlight/]([field:result/])</a>{/dede:tag}--------------------------------------------------------------------------------当月热门标签{dede:tag row='30' sort='month'}<a href='[field:link/]'>[field:tagname/]([field:result/])</a>{/dede:tag}--------------------------------------------------------------------------------随机标签{dede:tag row='60' sort='rand'}<a href='[field:link/]'>[field:highlight/]([field:result/])</a>{/dede:tag}--------------------------------------------------------------------------------任何系统页面调用会员积分排行:{dede:sql sql="Select id,userid,uname,scores From dede_member order by scores desc limit 0,10"}<dd><span class="name"><a href='[field:global name='cfg_cmspath'/]/member/?[field:userid/]/'>[field:uname/]</a></span><span class="jifen">积分[field:scores/]</span></dd>{/dede:sql}--------------------------------------------------------------------------------<!--问答系统-->调用{dede:ask row='10'}<li><span class="gpclass">[<a href="[field:typeurl/]">[field:tidname/]</a>]</span><span class="gptlink"><a href="[field:url/]">[field:title/]</a></span> </li>{/dede:ask}--------------------------------------------------------------------------------企业调用{dede:sql sql="SELECT ,,,,,FROM dede_member mleft join dede_member_cominfo c on =where = 1 and = 1LIMIT 0 , 10"}<dd><span class="name"><a href='[field:global name='cfg_cmspath'/]/member/?[field:userid/]/'>[field:comname/]</a> </span></dd>{/dede:sql}--------------------------------------------------------------------------------专题调用{dede:arclist row=10 orderby=rand type='spec.'}<li><a href="[field:filename function='str_replace("","",@me)'/]" target="_blank"><STRONG>[field:title function=' ( strlen("@me")>16 ? cn_substr("@me",16): "@me" ) '/]</STRONG></a> </li>{/dede:arclist}--------------------------------------------------------------------------------列表页调用TAG标签的两种方法dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出种方法方法1:在列表需要的位置加入下列代码[field:id runphp=yes]$tsql = new DedeSql(false);$tags = '';$tsql->SetQuery("Select From dede_tag_list t left join dede_tag_index i on = where ='@me'");$tsql->Execute('t');while($row = $tsql->GetArray('t',MYSQL_ASSOC)){$tags .= "<a href='/?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>"; }@me=$tags;[/field:id]方法2:在inc_functi*****.php文件里加入function listtag($aid){$tsql = new DedeSql(false);$tags = '';$tsql->SetQuery("Select From dede_tag_list t left join dede_tag_index i on = where ='$aid'");$tsql->Execute('t');while($row = $tsql->GetArray('t',MYSQL_ASSOC)){$tags .= "<a href='/?/".urlencode($row['tagname'])."'>".$row['tagname']."</a>"; }return $tags;}然后在列表页相应位置加入[field:ID function="listtag(@me)"/]标记--------------------------------------------------------------------------------{dede:arclist typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword=''}--------------------------------------------------------------------------------去除html[field:title function='htmlspecialchars(@me)'/]主要使用在FLASH以及<a>中,是了了去除标签中的HTML元素,比如<b></b>等,如果不使用此标签,则会导致HTML代码显示在页面中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
织梦dedeCMS调用二级子栏目或者循环调用多级栏目在网站制作过程中经常都会遇到。
今天博主以DEDECMS v5.6版本调用代码作为示范,调用顶级栏目及其下的所有子栏目的代码。
进入正题:
{dede:channelartlist typeid='3,3'}
<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<hr>
{dede:channel type='son'noself='yes'}
<a href="[field:typelink/]">[field:typename/]</a><br/>
{/dede:channel}
{/dede:channelartlist}
如果是已经熟悉了dedecms代码朋友我想已经能看懂是什么意思了,但是还是解释一下。
{dede:channelartlist typeid='3,3'}typeid为3的顶级栏目如果你的顶级栏目为其他,则相应的改之。
如果是循环调用很多个顶级目录和子目录怎么办呢?请往下看:
{dede:channelartlist typeid='3,6‘}
<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<hr>
{dede:channel type='son'noself='yes'}
<a href="[field:typelink/]">[field:typename/]</a><br/>
{/dede:channel}
{/dede:channelartlist}
请看红色部分,意思是调用顶级栏目为3,4,5,6,的顶级栏目了。
简单吧!如果有疑问,直接复制代码到模板去不断测试就知道其原理了。
也测试过这两种方式,不过不尽其意:
1:
下面是官方的解释:
【Channel标记】
功能说明:用于获取栏目列表
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:channel row=''type=''}
自定义样式模板(InnerText)
{/dede:channel}
(2)属性
[1]row='数字'表示获取记录的条数(通用在某级栏目太多的时候使用,默认是8)
[2]type=top,sun/son,self
type='top'表示顶级栏目
type='son'或'sun'表示下级栏目
type='self'表示同级栏目
其中后两个属性必须在列表模板中使用。
(3)底层模板变量
ID,typename,typedir,typelink(仅表示栏目的网址)
例:
{dede:channel type='top'}
<a href='[field:typelink/]'>[field:typename/]</a>
{/dede:channel}
注:在没有指定typeid的情况下,type标记与模板的环境有关,如,模板生成到栏目一,那么type='son'就表示栏目一的所有子类
2:
DEDE商品分类三级如何用递归调用?
目前用了这个,
{dede:channelartlist cacheid='channelartlist'}
<li>
<h3><a href="{dede:field
name='typeurl'/}">{dede:field name='typename'/}</a></h3>
<ul>
{dede:channel type='son'row='10'noself='yes'}
<li id='son_[field:id/]'><a
href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
是可以循环出来二级分类和二级分类以下的子类(三级分类),但是经过多重测试,这个方法,只适用于站后台只能有一个商品的顶级分类,如果出现两个,调取的值都是一个顶级分类的内容,之前也用过
{dede:channelartlist typeid=‘2’}
<h3><a href="{dede:field
name='typeurl'/}">{dede:field name='typename'/}</a></h3>
{dede:channel type='son'row='10'
noself='yes'}
<li id='son_[field:id/]'><a
href='[field:typelink/]'>[field:typename/]</a></li>
{/dede:channel}
{/dede:channelartlist}
{dede:channelartlist cacheid='channelsonlist'typeid=2}
<li><span><img src="images/about_left_y.jpg"width="8" height="8"/></span>
<div><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></div>
<ul>
{dede:channel type='sun'row='10'noself='yes'}
<li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
以上是我循环二级栏目及三级栏目所用的标签,
要是二级栏目下有三级栏目,就能正常输入,要是二级栏目没有三级栏目,就把同及栏目输出了
如下图所示
{dede:field name='typename'/}用来提取当前栏目名称.。