dedecms織夢(mèng)調(diào)用當(dāng)前欄目文章數(shù)方法
在做模板開發(fā)時(shí),為了顯示每個(gè)欄目的文章數(shù)量,我們可以通過以下方法來實(shí)現(xiàn)。這個(gè)方法適用于dedecms版本5.6及以上(包括5.6、5.7和5.7sp1),其他版本未經(jīng)測(cè)試。修改文件首先,我們需要修改d
在做模板開發(fā)時(shí),為了顯示每個(gè)欄目的文章數(shù)量,我們可以通過以下方法來實(shí)現(xiàn)。這個(gè)方法適用于dedecms版本5.6及以上(包括5.6、5.7和5.7sp1),其他版本未經(jīng)測(cè)試。
修改文件
首先,我們需要修改dedecms的文件。打開該文件,在最后加上以下代碼:
```php
//統(tǒng)計(jì)欄目文章數(shù)
function GetTotalArc($tid){
global $dsql;
$sql GetSonIds($tid);
$row $dsql->GetOne("Select count(id) as dd From zmb_archives where typeid in({$sql})");
return $row['dd'];
}
//統(tǒng)計(jì)當(dāng)前欄目文章數(shù)
function dynamic_num($current_id){
global $dsql;
//讀取當(dāng)前欄目的子ID
$sql "SELECT id FROM zmb_arctype WHERE id'{$current_id}' || topid'{$current_id}'";
$dsql->SetQuery($sql);
$dsql->Execute();
while($row $dsql->GetArray()){
$arr[] $row[id];
}
foreach($arr as $key>$value){
$type . $value . ',';
}
$ty "".$type."0";
$t_num $dsql->GetOne("select count(*) as num from zmb_archives where typeid in($ty)");
if(is_array($t_num)){
return " ".$t_num[num]." ";
}else{
return "0";
}
}
```
在模板中調(diào)用
接下來,在模板中,我們可以使用以下代碼來調(diào)用欄目的文章數(shù):
```php
該類擁有{dede:type}[field:id function"dynamic_num(@me)" /]{/dede:type}個(gè)文檔
[field:id runphp'yes']@me GetTotalArc(@me)[/field:id]
```
例如,我們可以在模板中使用如下代碼來顯示欄目名稱以及該欄目下的文章數(shù)量:
```html
{dede:field name'typename' /}lt;bgt;(該類擁有{dede:type}[field:id function"dynamic_num(@me)" /]{/dede:type}個(gè)文檔)lt;/bgt;
{dede:channel type'son' }
lt;ligt;lt;a href"[field:typelink/]"gt;[field:typename/]lt;/agt;lt;bgt;(lt;spangt;[field:ID runphp'yes'] @me GetTotalArc(@me);[/field:ID]lt;/spangt;)lt;/bgt;lt;/ligt;
{/dede:channel}
```
通過以上方法,我們可以輕松地在dedecms模板中調(diào)用當(dāng)前欄目的文章數(shù)量,并且實(shí)現(xiàn)靈活的顯示效果。希望對(duì)你有所幫助!