dedecms系統(tǒng)中,如果你的網(wǎng)站刪除了很多文檔,而某個Tag標(biāo)簽恰恰關(guān)聯(lián)了這些被刪除的文檔,這種情況下,前臺Tag標(biāo)簽列表頁就會出現(xiàn)有頁碼分頁卻沒有數(shù)據(jù)的狀況,如下圖所示
這是因為織夢的TAG標(biāo)簽列表核心文件不嚴(yán)謹(jǐn)引起的,我們可以讓關(guān)聯(lián)的TAG標(biāo)簽所屬的已經(jīng)刪除的文檔在TAG表中刪除掉就能解決空數(shù)據(jù)列表問題
打開 /include/arc.taglist.class.php 找到,找到下面這3行代碼
$cquery = "SELECT COUNT(*) AS dd FROM `dede_taglist` WHERE tid = '{$this->TagInfos['id']}' AND arcrank >-1 ";
$row = $this->dsql->GetOne($cquery);
$this->TotalResult = $row['dd'];
改成
$this->dsql->SetQuery("SELECT aid FROM `dede_taglist` WHERE tid = '{$this->TagInfos['id']}' AND arcrank>-1 ");
$this->dsql->Execute();
while($row=$this->dsql->GetArray())
{
$atrow = $this->dsql->GetOne("SELECT id FROM `dede_arctiny` WHERE id='{$row['aid']}' AND arcrank>-1");
if(!is_array($atrow))
{
$this->dsql->ExecuteNoneQuery("DELETE FROM `dede_taglist` WHERE aid='{$row['aid']}' ");
continue;
}
$idlists .= ($idlists=='' ? $row['aid'] : ','.$row['aid']);
}
if($idlists!=='') $this->TotalResult = $row['dd'] = count(explode(',',$idlists));
這樣問題就解決了。
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: dedecms的tag標(biāo)簽列表中有分頁卻沒有數(shù)據(jù)的處理方法