[field:typename/]
{/dede:channel}

"景先生毕设|www.jxszl.com

让dedecms子栏目的调用及其文章数量统计

2022-10-29 16:42编辑: www.jxszl.com景先生毕设
调用当前栏目的子栏目列表:以下III段任选.

{dede:sonchannel}
[field:typename/]
{/dede:sonchannel}


{dede:channel

 更多精彩就在: 51免费论文网|www.jxszl.com 
type=sonnoself=yes}
  • [field:typename/]

  • {/dede:channel}



    {dede:channeltype=sontypeid=‘栏目ID’noself=yes}
  • [field:typename/]

  • {/dede:channel}


    子栏目的文章数量统计:
    在/include/extend.func.php最下方处添加以下代码:

    /*
    *返回符合记录的文章数量
    *@descriptionDEDE不允许执行子查询,解决栏目下文章统计的问题
    *@param$level为真时查询所有子类目
    **/
    functiongetTotalArcByTid($tid,$level=TRUE){
    global$dsql;
    $level==TRUE&&$tid=GetSonTypeID($tid);
    $sql="SELECTcount(id)astotalfrom`dede_archives`wheretypeidin($tid)";
    $result=$dsql->GetOne($sql);
    return$result[total];
    }
    /*
    *递归获取符合条件的子栏目
    *@param$tid栏目ID
    *@returnstring
    **/
    functionGetSonTypeID($tid)
    {
    global$dsql;
    $dsql->SetQuery("SelectidFrom`dede_arctype`wherereidin($tid)Andishidden<>I.orderbysortrank");
    $dsql->Execute($tid);
    $typeid=;
    while($row=$dsql->GetObject($tid))
    {
    $typeid.="{$row->id},";
    $typeid.=GetSonTypeID($row->id);
    }
    returntrim($typeid,,);
    }


    然后用这个标签调用:

    {dede:field.typeidfunction="getTotalArcByTid(@me)"/}

    [field:typeidfunction="getTotalArcByTid(@me)"/]


    原文链接:http://www.jxszl.com/biancheng/dedecms/76689.html