• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dedecms怎么调用当前栏目下的文章数
    POST TIME:2017-11-12 23:57

    今天做网站的时候要求要好多分类,每个分类下边需要有文章,可是在考虑到用户体验方面。我就想如果加上当前栏目下边的条数 会让读者一幕了然;

    所以我特意查了一下资料,在这分享给大家:

    第一种方法

    打开include/common.func.php文件
    在最后的?>之前加上


    //统计栏目文章数
    function GetTotalArc($tid){
    global $dsql;
    $sql = GetSonIds($tid);
    $row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})");
    return $row['dd'];
    }

    然后就可以在上用
    {dede:channel type='son' row='20'}
    <dl><a href='[field:typelink/]'>[field:typename/]</a>(<span>[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]) </dl>
    {/dede:channel} 进行调用,[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]这个就是调用的总数

    第二种方法

    打开include/common.func.php,在其中任一行(与?>的中间任一行)中加上如下函数。

    function dynamic_num($current_id){ global $dsql; $t_num = $dsql->GetOne("select count(*) as num from `dede_archives` where typeid='$current_id'"); if(is_array($t_num)){ return "本栏目共有".$t_num[num]."篇文章"; }else{ return "本栏目共有0篇文章" ; } } ?>

    在列表页是这样调用的:

    {dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}

    如果要统计本栏目及与子栏目的总数,则可以用下面的函数:

    //统计包括子栏目的文章数 function GetArtTotal($id){
    //1.统计当前栏目文章数 $dsql = new DedeSql(false); $row = $dsql->GetOne("select count(id) as ArtSum from dede_archives where typeid=$id; ");
    //2.统计子栏目文章数 $dsql = new DedeSql(false); $rowSun = $dsql->GetOne("Select count(t.ID) as dd from dede_archives t left join dede_arctype u1 on u1.id=t.typeid where (u1.reID=$id)");
    //3. 1+2得出总文章数 return $row['ArtSum']+$rowSun['dd']; } 调用方法:

    {dede:field.typeid function="GetArtTotal(@me)"/}

    以上发放些许一样,我还没来得及试呢!先放了这供大家参考一下 本站来源:

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!