织梦dedecms增加php函数功能及在列表页获取当前栏目的文章数 ,
打开include/common.func.php,在其中任一行(<?与?>的中间任一行)中加上如下函数。
function dynamic_num($current_id){
global $dsql;
$t_num = $dsql->GetOne("select count(*) as num from `dede_archives` where typeid='$current_id'");
if(is_array($t_num)){
return "本栏目共有".$t_num[num]."篇文章";
}else{
return "本栏目共有0篇文章" ;
}
}
在列表页中这样调用:{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}
加入函数:
//统计包括子栏目的文章数****
function GetArtTotal($id){
//*****统计栏目文章数
//1.统计当前栏目文章数
$dsql = new DedeSql(false);
$row = $dsql->GetOne("select count(id) as ArtSum from dede_archives where typeid=$id; ");
//2.统计子栏目文章数
$dsql = new DedeSql(false);
//$sql = TypeGetSunID($tid,$dsql);取得子栏目ID
$rowSun = $dsql->GetOne("Select count(t.ID) as dd from dede_archives t left join dede_arctype u1 on u1.id=t.typeid
where (u1.reID=$id) ");
//3. 1+2得出总文章数
return $row['ArtSum']+$rowSun['dd'];
}
//******统计包括子栏目的文章数
调用方法:
{dede:channel type='self' row='100'? }[field:typename/]([field:id function=GetArtTotal(@me)/]){/dede:channel}
<div class="cate">
<h2>当前栏目</>h2>
<p>{dede:channel type='son' currentstyle="<a class='hcate' href='~typelink~'>~typename~</>a>"}<a href="[field:typeurl/]">[field:typename/][field:id function="dynamic_num(@me)" /]</a>{/dede:channel}</p>
</div>
(责任编辑:最模板) |