dede在子栏目下 调用同级栏目的信息

修改include/taglib/channelartlist.lib.php if($type=='reid') //调用上级目录下的子栏目内容 { $reid = $refObj->TypeLink->TypeInfos['reid']; $tpsql = " reid='$reid' AND ispart<>2 AND ishidden<>1 "; } else if($typeid==0 || $typeid=='top') { $tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 "; } {dede:channelartlist type='reid' row='5'}底层循环代码{/dede:channelartlist} 后调用的是一级栏目 如何解决这个问题在线等

使用dede时,想在列表页和内容页调用同级栏目的文章,当然可以使用{dede:channelartlist typeid=‘1’ row='5'}的方法,指定栏目id,但是要自动判断当前栏目的同级栏目就没办法了或者需要给每个顶级栏目分配一个模板,这样很麻烦。本文将给一种更简单的办法

       找到\include\taglib\channelartlist.lib.php 文件

查找: $attlist = 'typeid|0,row|20,cacheid|';  

修改为:$attlist = 'typeid|0,row|20,cacheid|,type|';     //这边加个 type 实现 在子栏目下调用   同级子栏目的信息

然后查找:

if($typeid==0 || $typeid=='top') {
        $tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";
    }

修改为:

if($type=='reid')    //调用上级目录下的子栏目内容
      {        
        $reid = $refObj->TypeLink->TypeInfos['reid'];          
        $tpsql = " reid='$reid' AND ispart<>2 AND ishidden<>1 ";
      }
    else if($typeid==0 || $typeid=='top') {
        $tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";
    }

保存上面文件。然后在列表页或者内容页使用
{dede:channelartlist type='reid' row='5'}
底层循环代码
{/dede:channelartlist}  就可以方便调用了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-03-06
就用{dede:channelartlist} 不写typeid
第2个回答  2015-03-16
1楼回答正确

dedecms 文章页调用同级栏目的名字和文章列表
{dede:field name='typename'\/} {dede:arclist titlelen='42' row='10'} [field:title \/] ([field:pubdate function="MyDate('m-d',@me)"\/]) {\/dede:arclist} {\/dede:channelartlist}

dedecms 不指定栏目id,怎么获取同级栏目下面的文章
如果你不指定 ID的话,默认是用GET传输过来的那个ID。比如:{dede:arclist row="10"}[field:title\/]{\/dede:arclist}

dedecms 网站怎么调用导航栏目和下拉菜单
首先我们将将下面这段红色的代码贴到"网站根目录\\templets\\default\\"的"footer.htm"文件里里面,一般来说把这段代码放在最下面就行了。<!-- \/\/放于底部即可--> {dede:channelartlist typeid='top' cacheid='channelsonlist'} {dede:channel type='son' noself='yes'} [field:typename\/] {...

dede 三级栏目想调取上一级(二级栏目)导航列表
你说“希望点击二级栏目的时候出现二级的文章列表”,“我把二级栏目设成频道封面”;公子,这两条是不可能同时做到的,因为频道封面下面是不能够发布文档的,封面频道下面也就不可能出现文章列表了。栏目内容说明:栏目内容是替代原来栏目单独页的更灵活的一种方式;既然是替代关系,就不可能并存的,公子。

dede 栏目里用{dede:field.seotitle\/}是什么意思?有什么作用? 还有导航...
{dede:field.seotitle\/}标签是用来输出文章标题的,文章标题可以自定义设置,有利于seo优化。栏目是树形结构,顶级栏目下有下级栏目,下级栏目下也能有下级栏目,同一层就是同级栏目。官方的栏目设置帮助文档:http:\/\/help.dedecms.com\/install-use\/2011\/0610\/49.html ...

dedecms调用当前栏目的子栏目怎么操作
>~typename~ "} [field:typename\/] {\/dede:channel}参数说明:typeid = '0' 栏目IDreid = '0' 上级栏目IDrow = '100' 调用栏目数type = 'son' son表示下级栏目,self表示同级栏目,top顶级栏目currentstyle = '' 应用样式

dede 调取当前顶级栏目链接
} else { $row1 = $dsql->GetOne("SELECT typedir FROM dede_arctype WHERE id= $row[topid]"); $url1=str_replace('{cmspath}','',$row1['typedir']); return $url1; }}这样就可以解决,从数据库中提取出当前顶级栏目链接,同时替换路径中的{cmspath} ...

如何解决DEDE的{dede:channel type='son'}下面不显示子栏目
很简单,首先在include\\taglib\\channel.lib.php文件里加入以下代码:\/\/如果用子栏目模式,当没有子栏目时显示同级栏目 if($type=='son'&& $reid!=0 && $totalRow==0){ sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `#@__arctype...

dede:channel type='top' row='10'
参数说明:typeid = '0' 栏目ID reid = '0' 上级栏目ID row = '100' 调用栏目数 col = '1' 分多少列显示(默认为单列)type = 'son' son表示下级栏目,self表示同级栏目,top顶级栏目 currentstyle = '' 应用样式。href后面可以跟链接,图片,文件等的路径,那个typy = top就是置顶的意思,...

dedecms 怎么把前台的文字栏目链接到后台 建的 栏目上呢?
{\/dede:channel} 相关函数:文件\\include\\taglib\\channel.lib.php第2行 function lib_channel(&$ctag,&$refObj)参数说明:typeid = '0' 栏目ID reid = '0' 上级栏目ID row = '100'调用栏目数 col = '1' 分多少列显示(默认为单列)type = 'son | sun' son表示下级栏目,self表示同级栏...

相似回答