在做织梦dedecms模板时,经常需要在每个栏目列表页加上此栏目的文章数调用,下面就教大家具体的实现方法。首先找到并打开include/common.func.php文件,在最后面加入下面这段代码:
//统计栏目内容条数function GetTotalArc($tid){global $dsql;$sql = GetSonIds($tid);$row = $dsql->GetOne("Select count(id) as dd From zmb_archives where typeidin({$sql})");return $row['dd'];}//统计当前栏目信息数function dynamic_num($current_id){global $dsql;//读取当前栏目的子ID$sql = "SELECT id FROM zmb_arctype WHERE id='$current_id' ||topid='$current_id'";$dsql->SetQuery($sql);$dsql->Execute();while($row = $dsql->GetArray()){$arr[]=$row[id];}foreach($arr as $key=>$value){$type .= $value . ',';}$ty= "".$type."0";//echo $ty;$t_num = $dsql->GetOne("select count(*) as num from zmb_archives where typeidin($ty)");//echo $t_num[num];if(is_array($t_num)){return " ".$t_num[num]." ";}else{return "0" ;}}
然后在列表页模板里面插入如下调用代码:(该栏目有{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}篇文档)和[field:id runphp='yes'] @me = GetTotalArc(@me);[/field:id]下面是完整的调用实例:{dede:field name='typename'/}</b>(本栏目共有{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}篇文档){dede:channel type='son' } <li><a href='[field:typelink/]'>[field:typename/]</a>(<span>[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]</span>)</li>{/dede:channel}