织梦标签dede:list中增加noflag属性的方法支持5.7版本

织梦教程 强烈建议 2024-02-26 11:17 105 0

  织梦dedecms修改include/arc.listview.class.php,以下是修改后的文件

  代码如下:

  

require_once(DEDEINC.’/arc.partview.class.php’);

  require_once(DEDEINC.’/ftp.class.php’);

helper(‘cache’);

  @set_time_limit(0);

  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”;

//设置环境变量

  SetSysEnv($this->TypeID,$this->Fields[‘typename’],0,”,’list’);

  $this->Fields[‘typeid’] = $this->TypeID;

//获得交叉栏目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

  }

//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’)

本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!