主頁 > 網(wǎng)站建設(shè) > 建站知識 > dedecms怎么調(diào)用當(dāng)前欄目下的文章數(shù)

dedecms怎么調(diào)用當(dāng)前欄目下的文章數(shù)

POST TIME:2017-11-12 23:57

今天做網(wǎng)站的時候要求要好多分類,每個分類下邊需要有文章,可是在考慮到用戶體驗方面。我就想如果加上當(dāng)前欄目下邊的條數(shù) 會讓讀者一幕了然;

所以我特意查了一下資料,在這分享給大家:

第一種方法

打開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'];
}

然后就可以在上用
{dede:channel type='son' row='20'}
<dl><a href='[field:typelink/]'>[field:typename/]</a>(<span>[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]) </dl>
{/dede:channel} 進(jìn)行調(diào)用,[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]這個就是調(diào)用的總數(shù)

第二種方法

打開include/common.func.php,在其中任一行(與?>的中間任一行)中加上如下函數(shù)。

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篇文章" ; } } ?>

在列表頁是這樣調(diào)用的:

{dede:type}[field:id function="dynamic_num(@me)" /]{/dede:type}

如果要統(tǒng)計本欄目及與子欄目的總數(shù),則可以用下面的函數(shù):

//統(tǒng)計包括子欄目的文章數(shù) function GetArtTotal($id){
//1.統(tǒng)計當(dāng)前欄目文章數(shù) $dsql = new DedeSql(false); $row = $dsql->GetOne("select count(id) as ArtSum from dede_archives where typeid=$id; ");
//2.統(tǒng)計子欄目文章數(shù) $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得出總文章數(shù) return $row['ArtSum']+$rowSun['dd']; } 調(diào)用方法:

{dede:field.typeid function="GetArtTotal(@me)"/}

以上發(fā)放些許一樣,我還沒來得及試呢!先放了這供大家參考一下 本站來源:



上一篇:織夢DedeCMS 友情鏈接調(diào)用不同型的方法

下一篇:dedecms怎么替換默認(rèn)的模板

收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266