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

织梦教程 强烈建议 2024-02-26 11:33 296 0

  修改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’]);

  }

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