dedecms列表页分页效果变形的问题解决
我们在dedecms做模板时候,列表页有<li>代码,会引起页面变形 ? 这个修改具体是要修改arc.archives.class.php于arc.listview.class.php文件 ? ? ? 以下附件是V5.6UTF8版本修改后的文件 ? arc.archives.class.php ? <?php? if(!defined('DEDEINC')) ? { ? ?? ?exit("Request Error!"); ? } ? require_once(DEDEINC."/typelink.class.php"); ? require_once(DEDEINC."/channelunit.class.php"); ? require_once(DEDEINC."/downmix.inc.php"); ? require_once(DEDEINC.'/ftp.class.php'); ? ? @set_time_limit(0); ? class Archives ? { ? ?? ?var $TypeLink; ? ?? ?var $ChannelUnit; ? ?? ?var $dsql; ? ?? ?var $Fields; ? ?? ?var $dtp; ? ?? ?var $ArcID; ? ?? ?var $SplitPageField; ? ?? ?var $SplitFields; ? ?? ?var $NowPage; ? ?? ?var $TotalPage; ? ?? ?var $NameFirst; ? ?? ?var $ShortName; ? ?? ?var $FixedValues; ? ?? ?var $TempSource; ? ?? ?var $IsError; ? ?? ?var $SplitTitles; ? ?? ?var $PreNext; ? ?? ?var $addTableRow; ? ?? ?var $ftp; ? ?? ?var $remoteDir; ? ? ?? ?//php5构造函数 ? ?? ?function __construct($aid) ? ?? ?{ ? ?? ? ? ?global $dsql,$ftp; ? ?? ? ? ?$this->IsError = false; ? ?? ? ? ?$this->ArcID = $aid; ? ?? ? ? ?$this->PreNext = array(); ? ? ?? ? ? ?$this->dsql = $dsql; ? ?? ? ? ?$query = "Select channel,typeid from `zuimoban_arctiny` where id='$aid' "; ? ?? ? ? ?$arr = $this->dsql->GetOne($query); ? ?? ? ? ?if(!is_array($arr)) ? ?? ? ? ?{ ? ?? ? ? ? ? ?$this->IsError = true; ? ?? ? ? ?} ? ?? ? ? ?else ? ?? ? ? ?{ ? ?? ? ? ? ? ?if($arr['channel']==0) { $arr['channel']=1; } ? ?? ? ? ? ? ?$this->ChannelUnit = new ChannelUnit($arr['channel'],$aid); ? ?? ? ? ? ? ?$this->TypeLink = new TypeLink($arr['typeid']); ? ?? ? ? ? ? ?if($this->ChannelUnit->ChannelInfos['issystem']!=-1) ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?$query = "Select arc.*,tp.reid,tp.typedir,ch.addtable ? ?? ? ? ? ? ? ? ?from `zuimoban_archives` arc ? ?? ? ? ? ? ? ? ? ? ? ? ?left join zuimoban_arctype tp on tp.id=arc.typeid ? ?? ? ? ? ? ? ? ? ? ? ? ?left join zuimoban_channeltype as ch on arc.channel = ch.id ? ?? ? ? ? ? ? ? ? ? ? ? ?where arc.id='$aid' "; ? ?? ? ? ? ? ? ? ?$this->Fields = $this->dsql->GetOne($query); ? ?? ? ? ? ? ?} ? ?? ? ? ? ? ?else ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?$this->Fields['title'] = ''; ? ?? ? ? ? ? ? ? ?$this->Fields['money'] = $this->Fields['arcrank'] = 0; ? ?? ? ? ? ? ? ? ?$this->Fields['senddate'] = $this->Fields['pubdate'] = $this->Fields['mid'] = $this->Fields['adminid'] = 0; ? ?? ? ? ? ? ? ? ?$this->Fields['ismake'] = 1; ? ?? ? ? ? ? ? ? ?$this->Fields['filename'] = ''; ? ?? ? ? ? ? ?} ? ? ?? ? ? ? ? ?if($this->TypeLink->TypeInfos['corank'] > 0 && $this->Fields['arcrank']==0) ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?$this->Fields['arcrank'] = $this->TypeLink->TypeInfos['corank']; ? ?? ? ? ? ? ?} ? ? ?? ? ? ? ? ?$this->Fields['tags'] = GetTags($aid); ? ?? ? ? ? ? ?$this->dtp = new DedeTagParse(); ? ?? ? ? ? ? ?$this->dtp->SetRefObj($this); ? ?? ? ? ? ? ?$this->SplitPageField = $this->ChannelUnit->SplitPageField; ? ?? ? ? ? ? ?$this->SplitFields = ''; ? ?? ? ? ? ? ?$this->TotalPage = 1; ? ?? ? ? ? ? ?$this->NameFirst = ''; ? ?? ? ? ? ? ?$this->ShortName = 'html'; ? ?? ? ? ? ? ?$this->FixedValues = ''; ? ?? ? ? ? ? ?$this->TempSource = ''; ? ?? ? ? ? ? ?$this->ftp = &$ftp; ? ?? ? ? ? ? ?$this->remoteDir = ''; ? ?? ? ? ? ? ?if(empty($GLOBALS['pageno'])) ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?$this->NowPage = 1; ? ?? ? ? ? ? ?} ? ?? ? ? ? ? ?else ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?$this->NowPage = $GLOBALS['pageno']; ? ?? ? ? ? ? ?} ? ? ?? ? ? ? ? ?//特殊的字段数据处理 ? ?? ? ? ? ? ?$this->Fields['aid'] = $aid; ? ?? ? ? ? ? ?$this->Fields['id'] = $aid; ? ?? ? ? ? ? ?$this->Fields['position'] = $this->TypeLink->GetPositionLink(true); ? ?? ? ? ? ? ?$this->Fields['typeid'] = $arr['typeid']; ? ? ?? ? ? ? ? ?//设置一些全局参数的值 ? ?? ? ? ? ? ?foreach($GLOBALS['PubFields'] as $k=>$v) ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?$this->Fields[$k] = $v; ? ?? ? ? ? ? ?} ? ? ?? ? ? ? ? ?//为了减少重复查询,这里直接把附加表查询记录放在 $this->addTableRow 中,在 ParAddTable() 不再查询 ? ?? ? ? ? ? ?if($this->ChannelUnit->ChannelInfos['addtable']!='') ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?$query = "SELECT * FROM `{$this->ChannelUnit->ChannelInfos['addtable']}` WHERE `aid` = '$aid'"; ? ?? ? ? ? ? ? ? ?$this->addTableRow = $this->dsql->GetOne($query); ? ?? ? ? ? ? ?} ? ? ?? ? ? ? ? ?//issystem==-1 表示单表模型,单表模型不支持redirecturl这类参数,因此限定内容普通模型才进行下面查询 ? ?? ? ? ? ? ?if($this->ChannelUnit->ChannelInfos['addtable']!='' && $this->ChannelUnit->ChannelInfos['issystem']!=-1) ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?if(is_array($this->addTableRow)) ? ?? ? ? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ? ? ?$this->Fields['redirecturl'] = $this->addTableRow['redirecturl']; ? ?? ? ? ? ? ? ? ? ? ?$this->Fields['templet'] = $this->addTableRow['templet']; ? ?? ? ? ? ? ? ? ? ? ?$this->Fields['userip'] = $this->addTableRow['userip']; ? ?? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ?$this->Fields['templet'] = (empty($this->Fields['templet']) ? '' : trim($this->Fields['templet'])); ? ?? ? ? ? ? ? ? ?$this->Fields['redirecturl'] = (empty($this->Fields['redirecturl']) ? '' : trim($this->Fields['redirecturl'])); ? ?? ? ? ? ? ? ? ?$this->Fields['userip'] = (empty($this->Fields['userip']) ? '' : trim($this->Fields['userip'])); ? ?? ? ? ? ? ?} ? ?? ? ? ? ? ?else ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?$this->Fields['templet'] = $this->Fields['redirecturl'] = ''; ? ?? ? ? ? ? ?} ? ?? ? ? ?}//!error ? ?? ?} ? ? ?? ?//php4构造函数 ? ?? ?function Archives($aid) ? ?? ?{ ? ?? ? ? ?$this->__construct($aid); ? ?? ?} ? ? ?? ?//解析附加表的内容 ? ?? ?function ParAddTable() ? ?? ?{ ? ?? ? ? ?//读取附加表信息,并把附加表的资料经过编译处理后导入到$this->Fields中,以方便在模板中用 {dede:field name='fieldname' /} 标记统一调用 ? ?? ? ? ?if($this->ChannelUnit->ChannelInfos['addtable']!='') ? ?? ? ? ?{ ? ?? ? ? ? ? ?$row = $this->addTableRow; ? ?? ? ? ? ? ?if($this->ChannelUnit->ChannelInfos['issystem']==-1) ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?$this->Fields['title'] = $row['title']; ? ?? ? ? ? ? ? ? ?$this->Fields['senddate'] = $this->Fields['pubdate'] = $row['senddate']; ? ?? ? ? ? ? ? ? ?$this->Fields['mid'] = $this->Fields['adminid'] = $row['mid']; ? ?? ? ? ? ? ? ? ?$this->Fields['ismake'] = 1; ? ?? ? ? ? ? ? ? ?$this->Fields['arcrank'] = 0; ? ?? ? ? ? ? ? ? ?$this->Fields['money']=0; ? ?? ? ? ? ? ? ? ?$this->Fields['filename'] = ''; ? ?? ? ? ? ? ?} ? ? ?? ? ? ? ? ?if(is_array($row)) ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?foreach($row as $k=>$v) $row[strtolower($k)] = $v; ? ?? ? ? ? ? ?} ? ?? ? ? ? ? ?if(is_array($this->ChannelUnit->ChannelFields) && !empty($this->ChannelUnit->ChannelFields)) ? ?? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ?foreach($this->ChannelUnit->ChannelFields as $k=>$arr) ? ?? ? ? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ? ? ?if(isset($row[$k])) ? ?? ? ? ? ? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ? ? ? ? ?if(!empty($arr['rename'])) ? ?? ? ? ? ? ? ? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ?$nk = $arr['rename']; ? ?? ? ? ? ? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ? ? ? ? ?else ? ?? ? ? ? ? ? ? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ?$nk = $k; ? ?? ? ? ? ? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ? ? ? ? ?$cobj = $this->GetCurTag($k); ? ?? ? ? ? ? ? ? ? ? ? ? ?if(is_object($cobj)) ? ?? ? ? ? ? ? ? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?foreach($this->dtp->CTags as $ctag) ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if($ctag->GetTagName()=='field' && $ctag->GetAtt('name')==$k) ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//带标识的专题节点 ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?if($ctag->GetAtt('noteid') != '') { ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?$this->Fields[$k.'_'.$ctag->GetAtt('noteid')] = $this->ChannelUnit->MakeField($k,$row[$k],$ctag); ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//其它字段 ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?else { ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?$this->Fields[$nk] = $this->ChannelUnit->MakeField($k,$ctag); ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ? ? ? ? ?else ? ?? ? ? ? ? ? ? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ?$this->Fields[$nk] = $row[$k]; ? ?? ? ? ? ? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ? ? ? ? ?if($arr['type']=='htmltext' && $GLOBALS['cfg_keyword_replace']=='Y' && !empty($this->Fields['keywords'])) ? ?? ? ? ? ? ? ? ? ? ? ? ?{ ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ?$this->Fields[$nk] = $this->ReplaceKeyword($this->Fields['keywords'],$this->Fields[$nk]); ? ?? ? ? ? ? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ? ? ?} ? ?? ? ? ? ? ? ? ?}//End foreach ? ?? ? ? ? ? ?} ? ?? ? ? ? ? ?//设置全局环境变量 ? ?? ? ? ? ? ?$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename']; ? ?? ? ? ? ? ?@SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['id'],$this->Fields['title'],'archives'); ? ?? ? ? ?} ? ?? ? ? ?//完成附加表信息读取 ? ?? ? ? ?unset($row); ? ? ?? ? ? ?//处理要分页显示的字段 ? ?? ? ? ?$this->SplitTitles = Array(); ? ?? ? ? ?if($this->SplitPageField!='' && $GLOBALS['cfg_arcsptitle']='Y' ? ?? ? ? ?&& isset($this->Fields[$this->SplitPageField])) ? ?? ? ? ?{ ? ?? ? ? ? ? ?$this->SplitFields = explode 上一篇:dedecms站内链接(描文本)的增强与优化 下一篇:dede列表页输入数字,跳转指定页面 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |