欢迎光临! 【模板119】平台每天更新源码-所有VIP源码均有在线演示

logo

建站一条龙服务

修改dede源码,让dede:channelartlist排除指定typeid

织梦源码推荐

找到 include aglibchannelartlist.lib.php,   查找 $attlist

将 
$attlist = 'typeid|0,row|20,cacheid|';
修改为:
$attlist = 'typeid|0,row|20,cacheid|,notypeid|0';   [此处添加了一个所要排除typeid的参数---notypeid]

查找:  
$dsql->SetQuery("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath   from `dede_arctype` where $tpsql order by sortrank asc limit $totalnum");

在其前面添加(注意是在前面添加):

//否定指定ID
if($notypeid!=0) {
     $tpsql = $tpsql."and not(id in($notypeid)) ";
}

模板调用:
{dede:channelartlist typeid ='114' notypeid='123,124,125,126,127,128'}
其中notypeid='123,124,125,126,127,128' 中的 123,124,125,126,127,128 为114的子栏目
 

修改后的channelartlist.lib.php
 

 

if(!defined('DEDEINC')) exit('Request Error!');

require_once(DEDEINC.'/arc.partview.class.php');

 

function lib_channelartlist(&$ctag,&$refObj)

{

    global $dsql,$envs,$_sys_globals;

 

    //处理标记属性、innertext

    $attlist = 'typeid|0,row|20,cacheid|,notypeid|0';

    FillAttsDefault($ctag->CAttribute->Items,$attlist);

    extract($ctag->CAttribute->Items, EXTR_SKIP);

    $innertext = trim($ctag->GetInnerText());

    $artlist = '';

    //读取固定的缓存块

    $cacheid = trim($cacheid);

    if($cacheid !='') {

        $artlist = GetCacheBlock($cacheid);

        if($artlist!='') return $artlist;

    }

    

    if(empty($typeid))

    {

        $typeid = ( !empty($refObj->TypeLink->TypeInfos['id']) ?  $refObj->TypeLink->TypeInfos['id'] : 0 );

    }

    

    if($innertext=='') $innertext = GetSysTemplets('part_channelartlist.htm');

    $totalnum = $row;

    if(empty($totalnum)) $totalnum = 20;

 

    //获得类别ID总数的信息

    $typeids = array();

    if($typeid==0 || $typeid=='top') {

        $tpsql = " reid=0 And ispart<>2 And ishidden<>1 And channeltype>0 ";

    }

    else

    {

        if(!ereg(',',$typeid)) {

            $tpsql = " reid='$typeid' And ispart<>2 And ishidden<>1 ";

        }

        else {

            $tpsql = " id in($typeid) And ispart<>2 And ishidden<>1 ";

        }

    }

    

    //否定指定ID

    if($notypeid!=0) {

        $tpsql = $tpsql."and not(id in($notypeid)) ";

    }

    

    $dsql->SetQuery("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

                                            from `dede_arctype` where $tpsql order by sortrank asc limit $totalnum");

    $dsql->Execute();

    while($row = $dsql->GetArray()) {

        $typeids[] = $row;

    }

 

    if(!isset($typeids[0])) return '';

 

    $GLOBALS['itemindex'] = 0;

    $GLOBALS['itemparity'] = 1;

    for($i=0;isset($typeids[$i]);$i++)

    {

        $GLOBALS['itemindex']++;

        $pv = new PartView($typeids[$i]['id']);

        $pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);

        $pv->SetTemplet($innertext,'string');

        $artlist .= $pv->GetResult();

        $GLOBALS['itemparity'] = ($GLOBALS['itemparity']==1 ? 2 : 1);

    }

    //注销环境变量,以防止后续调用中被使用

    $GLOBALS['envs']['typeid'] = $_sys_globals['typeid'];

    $GLOBALS['envs']['reid'] = '';

    if($cacheid !='') {

        WriteCacheBlock($cacheid, $artlist);

    }

    return $artlist;

}

二维码

本文手机访问二维码

作者:mb119.com        关注度:41        发布时间:2016-02-07 03:31:36
首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制
☉本站的源码不会像其它下载站一样植入大量的广告。
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(971977809)进行交流点击这里给我发消息
相关程序开发内容
在线客服