DeDeCMS常见二次开发之各栏目嵌套调用

想要在channel 中使用

例如:

{dede:channel type='son' row='10' typeid='1'}
    
  • [field:typename/][field:typenameng/]
  • {/dede:channel}

    则还要修改一个文件,找到include\taglib\channel.lib.php
    第一处:

    if($type=='top')
        {
            $sql = "SELECT id,typename,typenameen,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
              From `#分隔符@__arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
        }
        else if($type=='son')
        {
            if($typeid==0) return '';
            $sql = "SELECT id,typename,typenameen,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
              From `#分隔符@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
        }
        else if($type=='self')
        {
            if($reid==0) return '';
            $sql = "SELECT id,typename,typenameen,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
                FROM `#分隔符@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
        }
    

    第二处:

    //如果用子栏目模式,当没有子栏目时显示同级栏目
        if($type=='son' && $reid!=0 && $totalRow==0)
        {
            $sql = "SELECT id,typename,typenameen,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
                FROM `#分隔符@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
            $dsql->SetQuery($sql);
          $dsql->Execute();
        }
    

    增加查询字段就可以在channel中使用了,还有type,channelartlist等标签页是在相应的lib类中添加查询的字段

    你可能感兴趣的:(DeDeCMS常见二次开发之各栏目嵌套调用)