在我们在制作dedecms模板的时候,通常会为了让网站美观,要在栏目导航处添加栏目文章数统计显示的代码,让页面显示每个栏目下的文章数量,如下图所示:
有两种方法可以解决这个问题:
第一种方法:
第1步:打开网站根目录下include/common.func.php文件,在最后的?>之前加上:
2 |
function GetTotalArc($tid){ |
4 |
$sql = GetSonIds($tid); |
5 |
$row = $dsql->GetOne( "Select count(id) as dd From dede_archives where typeid in({$sql})" ); |
|
第2步: 然后在模板上使用以下代码
1 |
{dede:channel type = 'top' typeid=2 '' } |
2 |
<a href= "[field:typelink /]" >[field:typename/]</a> ([field:ID runphp= 'yes' ] @me = GetTotalArc(@me);[/field:ID]) |
|
比如在首页模板上栏目名称({dede:field name='typename'/})
后面添加如下代码:
1 |
{dede: type }[field:ID runphp= 'yes' ] @me = GetTotalArc(@me);[/field:ID]{/dede: type } |
|
第二种方法:
涉及到文件:根目录/include/common.func.php
在include/common.func.php最底下也就是?>前加入以下代码
1 |
function GetTotalArc($tid){ |
3 |
$sql = GetSonIds($tid); |
4 |
$row = $dsql->GetOne( "Select count(id) as dd From dede_archives where typeid in({$sql})" ); |
|
调用方法是:
1 |
[field:ID function = 'GetTotalArc(@me)' /] |
|
或者
1 |
[field:ID runphp= 'yes' ] @me = GetTotalArc(@me);[/field:ID] |
|
1 |
共{dede: type }[field:ID function = 'GetTotalArc(@me)' /] {/dede: type }篇 |
|
或在栏目名称后面添加如下代码:
1 |
({dede: type }[field:ID function = 'GetTotalArc(@me)' /] {/dede: type })
|
|