• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > DedeCMS教程 > DedeCMS模板标签 >

调用栏目文章数

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-02-07点击:
 

做模板时,经常需要为每个栏目加上此栏目的文章
我根据查找其它模板,或者搜索论坛找到一个好方法。供朋友使用。也为自己备份在论坛

此方法适合5.6及5.7 其它未测
修改 include/common.func.php文件,在最后加以下代码:
 

  1. //统计栏目文章数  
  2. function GetTotalArc($tid){  
  3.   global $dsql;  
  4.   $sql = GetSonIds($tid);  
  5.   $row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid   
  6. in({$sql})");  
  7.   return $row['dd'];  
  8. }  
  9.  //统计当前栏目信息数   
  10. function dynamic_num($current_id){   
  11. global $dsql;   
  12. //读取当前栏目的子ID   
  13. $sql = "SELECT id FROM `dede_arctype` WHERE id='$current_id' ||   
  14. topid='$current_id'";   
  15. $dsql->SetQuery($sql);   
  16. $dsql->Execute();   
  17. while($row = $dsql->GetArray()){   
  18.  $arr[]=$row[id];   
  19. }   
  20. foreach($arr as $key=>$value){   
  21.    $type .= $value . ',';   
  22. }   
  23. $ty"".$type."0";   
  24. //echo $ty;   
  25. $t_num = $dsql->GetOne("select count(*) as num from `dede_archives` where typeid   
  26. in($ty)");   
  27. //echo $t_num[num];   
  28. if(is_array($t_num)){   
  29.   return " ".$t_num[num]." ";   
  30. }else{   
  31.   return "0" ;   
  32. }   


模板里的调用代码:
 

  1. (该类拥有{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}  
  2. 个文档) 



 

  1. [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}
 

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1978130638@qq.com ,  QQ