最新公告
  • 欢迎您光临牛气网,本站秉承“用心服务,做好服务”致力为站长提供优质的售后服务!立即加入我们
  • 织梦实现三级多级栏目嵌套调用教程

    将三级目录全部显示出来,而系统的channel标签只能获取下级分类,所以就报改了channel.lib.php这个文件,让他支持多级栏目嵌套,代码如下:

    <?php
    functionlib_channel(&$ctag,&$refObj)
    {
    global$_sys_globals,$envs,$dsql;
    $attlist="typeid|0,reid|0,row|100,col|1,type|son,currentstyle|";
    FillAttsDefault($ctag->CAttribute->Items,$attlist);
    extract($ctag->CAttribute->Items,EXTR_SKIP);
    $innertext=$ctag->GetInnerText();
    if(empty($typeid)&&$envs['typeid']!=0)
    {
    $typeid=$envs['typeid'];
    $reid=$envs['reid'];
    }else{
    $reid=0;
    }

    if($type==''||$type=='sun')$type="son";
    if($innertext=='')$innertext=GetSysTemplets("channel_list.htm");

    if($reid==0&&$typeid>0)
    {
    $dbrow=$dsql->GetOne("SelectreidFromnet_arctypewhereid='$typeid'");
    if(is_array($dbrow))$reid=$dbrow['reid'];
    }

    $likeType='';
    if($type=='top')
    {
    $sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
    Fromnet_arctypewherereid=0Andishidden<>1orderbysortrankasclimit0,$row";
    }
    elseif($type=="son")
    {
    //if($_sys_globals['typeid']>0)$typeid=$_sys_globals['typeid'];
    if($typeid==0){
    return'';
    }
    $sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
    Fromnet_arctypewherereid='$typeid'Andishidden<>1orderbysortrankasclimit0,$row";
    }
    elseif($type=="self")
    {
    if($reid==0){
    return'';
    }
    $sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
    From`net_arctype`wherereid='$reid'Andishidden<>1orderbysortrankasclimit0,$row";
    }
    //Andid<>'$typeid'
    $dtp2=newDedeTagParse();
    $dtp2->SetNameSpace("field","[","]");
    $dtp2->LoadSource($innertext);
    $dsql2=clone$dsql;
    $dsql->SetQuery($sql);
    $dsql->Execute();

    $line=$row;
    $GLOBALS['autoindex']=0;
    for($i=0;$i<$line;$i++)
    {
    if($col>1)$likeType.="<dl>\\r\\n";
    for($j=0;$j<$col;$j++)
    {
    if($col>1)$likeType.="<dd>\\r\\n";
    if($row=$dsql->GetArray())
    {
    if($type=='self'&&$row['id']==$typeid)//处理同级栏目中,当前栏目的样式
    {
    if($currentstyle!='')
    {
    $linkOkstr=$currentstyle;
    $row['typelink']=GetOneTypeUrlA($row);
    $linkOkstr=str_replace("~typelink~",$row['typelink'],$linkOkstr);
    $linkOkstr=str_replace("~typename~",$row['typename'],$linkOkstr);
    $likeType.=$linkOkstr;
    }
    }else
    {
    $row['typelink']=$row['typeurl']=GetOneTypeUrlA($row);
    if(is_array($dtp2->CTags))
    {
    foreach($dtp2->CTagsas$tagid=>$ctag){
    if(isset($row[$ctag->GetName()]))
    {
    $dtp2->Assign($tagid,$row[$ctag->GetName()]);
    }
    elseif(preg_match('/^sonchannel[0-9]*$/',$ctag->GetName()))
    {
    $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));
    }
    }
    }
    $likeType.=$dtp2->GetResult();
    }
    }
    if($col>1)$likeType.="</dd>\\r\\n";
    $GLOBALS['autoindex']++;
    }//LoopCol
    if($col>1)
    {
    $i+=$col-1;
    $likeType.="</dl>\\r\\n";
    }
    }//Loopfor$i
    reset($dsql2);
    $dsql->FreeResult();
    return$likeType;
    }
    functionlib_channel_son($ctag,$typeid=0,$dsql2)
    {
    $attlist="row|100,col|1,currentstyle|";
    FillAttsDefault($ctag->CAttribute->Items,$attlist);
    extract($ctag->CAttribute->Items,EXTR_SKIP);
    $innertext=$ctag->GetInnerText();
    $dsql3=clone$dsql2;
    $likeType='';

    //if($_sys_globals['typeid']>0)$typeid=$_sys_globals['typeid'];
    if($typeid==0){
    return'';
    }
    $sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description
    Fromnet_arctypewherereid='$typeid'Andishidden<>1orderbysortrankasclimit0,$row";
    //Andid<>'$typeid'
    $dtp2=newDedeTagParse();
    $dtp2->SetNameSpace("field","[","]");
    $dtp2->LoadSource($innertext);
    $dsql2->SetQuery($sql);
    $dsql2->Execute();
    $line=$row;

    for($i=0;$i<$line;$i++)
    {
    if($col>1)$likeType.="<dl>\\r\\n";
    for($j=0;$j<$col;$j++)
    {
    if($col>1)$likeType.="<dd>\\r\\n";
    if($row=$dsql2->GetArray())
    {
    $row['typelink']=$row['typeurl']=GetOneTypeUrlA($row);
    if(is_array($dtp2->CTags))
    {
    foreach($dtp2->CTagsas$tagid=>$ctag){
    if(isset($row[$ctag->GetName()]))
    {
    $dtp2->Assign($tagid,$row[$ctag->GetName()]);
    }
    elseif(preg_match('/^sonchannel[0-9]*$/',$ctag->GetName()))
    {
    $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3));
    }
    }
    }
    $likeType.=$dtp2->GetResult();
    }
    if($col>1)$likeType.="</dd>\\r\\n";
    }//LoopColwww.niuqi.net
    if($col>1)
    {
    $i+=$col-1;
    $likeType.="</dl>\\r\\n";
    }
    }//Loopfor$i
    reset($dsql3);
    $dsql2->FreeResult();
    return$likeType;
    }
    ?>

    将以上代码全部替换channel.lib.php文件内容后就可以了,附前端调用的示例:

    {dede:channeltype='top'}
    [field:typename/]
    <ul>
    [field:sonchannel0]
    <li><ahref="[field:typelink/]">[field:typename/]</a></li>
    [field:sonchannel1]
    <li><ahref="[field:typelink/]">—[field:typename/]</a></li>
    [field:sonchannel2]
    <li><ahref="[field:typelink/]">===[field:typename/]</a></li>
    [field:sonchannel3]
    <li><ahref="[field:typelink/]">===[field:typename/]</a></li>
    [/field:sonchannel3]
    [/field:sonchannel2]
    [/field:sonchannel1]
    [/field:sonchannel0]
    </ul>
    {/dede:channel}

    1、本站所有资源皆来源于网络和用户自行上传,因此不包括售后和技术,敬请谅解!
    2、本站不保证所提供的源码的准确性、安全性和功能完善性,资源仅用于学习用!
    3、您下载的资源,请务必在24小时内删除,资源仅提供本地测试,请勿商用或者非法用途都与本站无关,一切后果自负!
    4、如发现资源下载不了,或者侵权请及时联系客服或者邮箱admin#niuqi.net,#改为@!
    牛气网 » 织梦实现三级多级栏目嵌套调用教程

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: admin@niuqi.net),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者

    发表评论

    售后服务:

    • 售后服务范围 1、商业模板使用范围内问题免费咨询
      2、源码安装、模板安装(一般 ¥50-300)服务答疑仅限SVIP用户
      3、单价超过200元的模板免费一次安装,需提供服务器信息。
      付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
      2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
      3、服务器环境配置(一般 ¥50-300)
      4、网站中毒处理(需额外付费,500元/次/质保三个月)
      售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
      免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: admin@niuqi.net),我们会及时删除,给您带来的不便,我们深表歉意!

    Hi, 如果你对这款模板有疑问,可以跟我联系哦!

    联系作者
    • 62会员总数(位)
    • 3414资源总数(个)
    • 1879本月发布(个)
    • 66 今日发布(个)
    • 375已陪伴您(天)

    牛气网NIUQI.NET站长源码平台

    开通SVIP会员 了解详情
    升级SVIP尊享更多特权立即升级