织梦调用当前栏目下的文章数的方法

织梦dedecms做网站的时候要求要好多分类,每个分类下边需要有文章,可是在考虑到用户体验方面。我就想如果加上当前栏目下边的条数 会让读者一幕了然;

所以我特意查了一下资料,在这分享给大家:

第一种方法

打开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’];
}

然后就可以在上用
{dede:channel type=’son’ row=’20’}

[field:typename/]([field:ID runphp=’yes’] @me = GetTotalArc(@me);[/field:ID])

{/dede:channel} 进行调用,[field:ID runphp=’yes’] @me = GetTotalArc(@me);[/field:ID]这个就是调用的总数

第二种方法

打开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); $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:field.typeid function=”GetArtTotal(@me)”/}

1. 本站实行充值兑换金币,1元=1金币,每日签到可领取1个金币,[我要充值]
2. 部分资源免费,登录后0元购买免费下载,收费资源价格也很低廉,1至100元不等,VIP会员全站无限下载,[去开通]
3. 本站正式上线, 推荐到QQ或者微信群免费获得VIP会员资格,详情[点我查看]
4. 如果您找不到合适的资源,请联系我们,告知您的需求,我们会在24小时内整理发布。
专注网站维护优化及织梦源码分享 » 织梦调用当前栏目下的文章数的方法

网迅云,安全稳定的云服务器,域名注册,香港空间的提供商!

虚拟主机 云服务器