西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > dedecms教程 >

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

时间:2016-12-03 09:25来源:未知 作者:好模板编辑 点击:
在做织梦dedecms模板时,经常需要在每个栏目列表页加上此栏目的文章数调用,下面就教大家具体的实现方法。 首先找到并打开include/common.func.php文件,在最后面加入下面这段代码: /
 
在做织梦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 typeid
in({$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 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}
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------