仿站咨询QQ:2587483189

手机微信同号:15850888840

调用栏目文章数

 做模板时,经常需要为每个栏目加上此栏目的文章数。

我根据查找其它模板,或者搜索论坛找到一个好方法。供朋友使用。也为自己备份在论坛
此方法适合5.6及5.7 其它未测
修改 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'];  
}  
 //统计当前栏目信息数   
function dynamic_num($current_id){   
global $dsql;   
//读取当前栏目的子ID   
$sql = "SELECT id FROM `dede_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 `dede_archives` where typeid   
in($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} 

  • 上一篇:dede5.6广告修改,添加广告位大全
  • 下一篇:DedeCMS导航下拉菜单
  • 来源:未知//所属分类: dede仿站 /更新时间:2014-05-05
    相关仿站教程