這篇文章主要為大家介紹了Dedecms實現(xiàn)自動統(tǒng)計當前欄目文檔總數(shù)的方法,可通過SQL語句實現(xiàn)統(tǒng)計的功能,是dedecms二次開發(fā)較為常見的技巧,需要的朋友可以參考下
本文實例講述了Dedecms實現(xiàn)自動統(tǒng)計當前欄目文檔總數(shù)的方法。分享給大家供大家參考。具體分析如下:
統(tǒng)計當前欄目有多少文章數(shù)量我們常用的有兩種辦法,一種直接在模板頁面運行php 并執(zhí)行sql,還有一種是直接在extend.func.php中加一個統(tǒng)計函數(shù),然后在模板頁面調(diào)用即可.
SQL語句中,有統(tǒng)計的函數(shù),我們可以通過在織夢中使用SQL語句統(tǒng)計的方法,在列表頁內(nèi)顯示該欄目共有多少篇文章,這樣做的好處是,有助于提升用戶體驗,比如說我一個文章列表下面有10篇文章,就自動統(tǒng)計出10篇,到20篇的時候自動統(tǒng)計成20篇,這樣用戶對網(wǎng)站的信息就一目了然了.
現(xiàn)將這2種方法分述如下:
第一種:runphp='yes'
第一種實現(xiàn)方法就是利用織夢自帶的runphp參數(shù)來實現(xiàn)這個功能,只需要在您需要顯示統(tǒng)計數(shù)量的地方直接加入以下代碼:
代碼如下:
{dede:field.typeid runphp='yes'}
global $dsql;
$row = $dsql->GetOne("select count(*) as dd from dede_archives where typeid = @me");
@me = $row['dd'];
{/dede:field.typeid}
保存后重新生成Html文件即可看到具體的效果,但請注意:
1.本代碼無法統(tǒng)計副欄目的文檔;
2.本代碼可用在列表和內(nèi)容頁;
3.代碼生成后的效果的動態(tài)的,如果添加完內(nèi)容,必須重新生成相關(guān)頁面;
4.無法統(tǒng)計無主表(例如:分類信息)的文檔總數(shù);
第二種:function
第二種就是我們通常所說的函數(shù),在織夢(DedeCMS)中,我們可以利用自定義函數(shù)來實現(xiàn)各種效果,實現(xiàn)的具體方法為:
1.在/include/extend.func.php 文件的?>上一行加入以下代碼:
代碼如下:
function GetTypeNum($tid){
global $dsql;
$row = $dsql->GetOne("select count(*) as dd from dede_archives where typeid = $tid");
return $row['dd'];
}
2.在模板需求統(tǒng)計欄目文檔的地方加入以下代碼:
代碼如下:
{dede:field.typeid function="GetTypeNum(@me)"/}
保存后生成警惕Html即可,在這里實際上就是執(zhí)行了自定義函數(shù)接口中的GetTypeNum函數(shù),其注意事項與runphp='yes'方法一樣.
希望本文所述對大家的dedecms建站有所幫助。