在我們在制作dedecms模板的時候,通常會為了讓網(wǎng)站美觀,要在欄目導(dǎo)航處添加欄目文章數(shù)統(tǒng)計顯示的代碼,讓頁面顯示每個欄目下的文章數(shù)量,如下圖所示:
有兩種方法可以解決這個問題:
第一種方法:
第1步:打開網(wǎng)站根目錄下include/common.func.php文件,在最后的?>之前加上:
//統(tǒng)計欄目文章數(shù)
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'];
}
//統(tǒng)計結(jié)束
第2步: 然后在模板上使用以下代碼
{dede:channel type='top' typeid=''}
<a href='[field:typelink /]'>[field:typename/]</a> ([field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID])<br>
{/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'];
}
調(diào)用方法是:
[field:ID function='GetTotalArc(@me)'/]
或者
[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]
比如在你的網(wǎng)站模板里添加如下代碼:
共{dede:type}[field:ID function='GetTotalArc(@me)'/] {/dede:type}篇
或在欄目名稱后面添加如下代碼:
({dede:type}[field:ID function='GetTotalArc(@me)'/] {/dede:type})