在我们在制作dedecms模板的时候,通常会为了让网站美观,要在栏目导航处添加栏目文章数统计显示的代码,让页面显示每个栏目下的文章数量,如下图所示:
有两种方法可以解决这个问题:
第一种方法:
第1步:打开网站根目录下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']; } //统计结束 |
第2步: 然后在模板上使用以下代码
{dede:channel type='top' typeid=2''} [field:typename/] ([field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]) {/dede:channel} |
比如在首页模板上栏目名称({dede:field name='typename'/})
后面添加如下代码:
{dede:type}[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]{/dede:type} |
第二种方法:
涉及到文件:根目录/include/common.func.php
在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']; } |
调用方法是:
[field:ID function='GetTotalArc(@me)'/] |
或者
[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID] |
比如在你的网站模板里添加如下代码:
共{dede:type}[field:ID function='GetTotalArc(@me)'/] {/dede:type}篇 |
或在栏目名称后面添加如下代码:
({dede:type}[field:ID function='GetTotalArc(@me)'/] {/dede:type}) |
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!