织梦BUG

dede织梦tag标签列表页有页码分页没有数据的解决方法

织梦教程2020-07-19
织梦教程简介简介:以上是解决织梦tag标签列表页有页码分页没有数据的方法,如果织梦TAG标签关联过很多已经删除的文档,那么就会TAG标签列表页出现有页码分页且没有数据的情况,如下图所示一样。...

以上是解决织梦tag标签列表页有页码分页没有数据的方法,如果织梦TAG标签关联过很多已经删除的文档,那么就会TAG标签列表页出现有页码分页且没有数据的情况,如下图所示一样。

dede织梦tag标签列表页有页码分页没有数据的解决方法

这是因为织梦的TAG标签列表核心文件不严谨引起的,我们可以让关联的TAG标签所属的已经删除的文档在TAG表中删除掉就能解决空数据列表问题

打开 /include/arc.taglist.class.php 找到,大概在 129 至 131 行,这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'];

如图

dede织梦tag标签列表页有页码分页没有数据的解决方法

改成

$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));
如图

dede织梦tag标签列表页有页码分页没有数据的解决方法

完成

版权声明

本文为站长原创文章,未经站长允许不得转载。本文地址:https://www.dedecmsbug.comhttps://www.dedecmsbug.com/notes/184.html