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

织梦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’)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/013f51ff799055368b8bb2176ce1b2f7.html