,织梦dedecms修改include/arc.listview.class.php,以下是修改后的文件,代码如下:,<?php if(!defined(‘DEDEINC’)) exit(‘Request Error!’);</p><p>require_once(DEDEINC.’/arc.partview.class.php’);,require_once(DEDEINC.’/ftp.class.php’);</p><p>helper(‘cache’);,@set_time_limit(0);</p><p>,class ListView,{,var $dsql;,var $dtp;,var $dtp2;,var $TypeID;,var $TypeLink;,var $PageNo;,var $TotalPage;,var $TotalResult;,var $PageSize;,var $ChannelUnit;,var $ListType;,var $Fields;,var $PartView;,var $upPageType;,var $addSql;,var $IsError;,var $CrossID;,var $IsReplace;,var $ftp;,var $remoteDir;,var $Noflag;,function __construct($typeid, $uppage=1),{,global $dsql,$ftp;,$this->TypeID = $typeid;,$this->dsql = &$dsql;,$this->CrossID = ”;,$this->IsReplace = false;,$this->IsError = false;,$this->dtp = new DedeTagParse();,$this->dtp->SetRefObj($this);,$this->dtp->SetNameSpace(“dede”, “{“, “}”);,$this->dtp2 = new DedeTagParse();,$this->dtp2->SetNameSpace(“field”,”[“,”]”);,$this->TypeLink = new TypeLink($typeid);,$this->upPageType = $uppage;,$this->ftp = &$ftp;,$this->remoteDir = ”;,$this->TotalResult = is_numeric($this->TotalResult)? $this->TotalResult : “”;, ,if(!is_array($this->TypeLink->TypeInfos)),{,$this->IsError = true;,},if(!$this->IsError),{,$this->ChannelUnit = new ChannelUnit($this->TypeLink->TypeInfos[‘channeltype’]);,$this->Fields = $this->TypeLink->TypeInfos;,$this->Fields[‘id’] = $typeid;,$this->Fields[‘position’] = $this->TypeLink->GetPositionLink(true);,$this->Fields[‘title’] = preg_replace(“/[<>]/”, ” / “, $this->TypeLink->GetPositionLink(false));,//设置一些全局参数的值,foreach($GLOBALS[‘PubFields’] as $k=>$v) $this->Fields[$k] = $v;,$this->Fields[‘rsslink’] = $GLOBALS[‘cfg_cmsurl’].”/data/rss/”.$this->TypeID.”.xml”;</p><p>//设置环境变量,SetSysEnv($this->TypeID,$this->Fields[‘typename’],0,”,’list’);,$this->Fields[‘typeid’] = $this->TypeID;</p><p>//获得交叉栏目ID,if($this->TypeLink->TypeInfos[‘cross’]>0 && $this->TypeLink->TypeInfos[‘ispart’]==0),{,$selquery = ”;,if($this->TypeLink->TypeInfos[‘cross’]==1),{,$selquery = “SELECT id,topid FROM `dede_arctype` WHERE typename LIKE ‘{$this->Fields[‘typename’]}’ AND id<>'{$this->TypeID}’ AND topid<>'{$this->TypeID}’ “;,},else,{,$this->Fields[‘crossid’] = preg_replace(‘/[^0-9,]/’, ”, trim($this->Fields[‘crossid’]));,if($this->Fields[‘crossid’]!=”),{,$selquery = “SELECT id,topid FROM `dede_arctype` WHERE id in({$this->Fields[‘crossid’]}) AND id<>{$this->TypeID} AND topid<>{$this->TypeID} “;,},},if($selquery!=”),{,$this->dsql->SetQuery($selquery);,$this->dsql->Execute();,while($arr = $this->dsql->GetArray()),{,$this->CrossID .= ($this->CrossID==” ? $arr[‘id’] : ‘,’.$arr[‘id’]);,},},},}//!error,}</p><p>//php4构造函数,function ListView($typeid,$uppage=0){,$this->__construct($typeid,$uppage);,},//关闭相关资源,function Close(),{ },function CountRecord(),{,global $cfg_list_son,$cfg_need_typeid2,$cfg_cross_sectypeid;,if(empty($cfg_need_typeid2)) $cfg_need_typeid2 = ‘N’;, ,//统计数据库记录,$this->TotalResult = -1;,if(isset($GLOBALS[‘TotalResult’])) $this->TotalResult = $GLOBALS[‘TotalResult’];,if(isset($GLOBALS[‘PageNo’])) $this->PageNo = $GLOBALS[‘PageNo’];,else $this->PageNo = 1;,$this->addSql = ” arc.arcrank > -1 “;, ,$typeid2like = ” ‘%,{$this->TypeID},%’ “;,if($cfg_list_son==’N’),{, ,if($cfg_need_typeid2==’N’),{,if($this->CrossID==”) $this->addSql .= ” AND (arc.typeid='”.$this->TypeID.”‘) “;,else $this->addSql .= ” AND (arc.typeid in({$this->CrossID},{$this->TypeID})) “;,},else,{,if($this->CrossID==”),{,$this->addSql .= ” AND ( (arc.typeid='”.$this->TypeID.”‘) OR CONCAT(‘,’, arc.typeid2, ‘,’) LIKE $typeid2like) “;,} else {,if($cfg_cross_sectypeid == ‘Y’),{