织梦DedeCMS栏目列表页统计并调用当前栏目文章数目的教程

站长手记 作者: 2024-08-27 09:50:02
在做织梦模板时,经常需要在每个栏目列表页加上此栏目的文章数调用,下面就教大家具体的实现方法。 首先找到并打开include/common.func.php文件,在最后面加入下面这段代码: 01 //统计栏目内容条数 02 function GetTotalArc($tid){ 03 global $dsql; 04 $sq
在做织梦模板时,经常需要在每个栏目列表页加上此栏目的文章数调用,下面就教大家具体的实现方法。   首先找到并打开include/common.func.php文件,在最后面加入下面这段代码:  
01 //统计栏目内容条数
02 function GetTotalArc($tid){
03 global $dsql;
04 $sql = GetSonIds($tid);
05 $row = $dsql->GetOne("Select count(id) as dd From zmb_archives where typeid
06 in({$sql})");
07 return $row['dd'];
08 }
09 //统计当前栏目信息数
10 function dynamic_num($current_id){
11 global $dsql;
12 //读取当前栏目的子ID
13 $sql = "SELECT id FROM zmb_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 zmb_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 }
33 }
    然后在列表页模板里面插入如下调用代码:  
1 (该栏目有{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}篇文档)和[field:id runphp='yes'] @me = GetTotalArc(@me);[/field:id]
    下面是完整的调用实例:  
1 {dede:field name='typename'/}</b>(本栏目共有{dede:type}[field:idfunction="dynamic_num(@me)" /]{/dede:type}篇文档)
2 {dede:channel type='son' }
3 <li><a href='[field:typelink/]'>[field:typename/]</a>(<span>[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]</span>)</li>
4 {/dede:channel}
 
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_69481.html