织梦搜索结果页里的分页是跟栏目列表页的分页是2个完全不同样式的,为了美观整站统一分页样式,我们可以用css大难度的实现,也可以修改PHP文件来实现
下面介绍修改PHP文件来实现
打开 /include/arc.searchview.class.php 找到 ,大概在532行左右
- $this->dtp->Assign($tagid,$this->GetPageListDM($list_len));
改成
- $ctag->GetAtt("listitem")=="" ? $listitem="index,pre,pageno,next,end,option" : $listitem=$ctag->GetAtt("listitem");
- $this->dtp->Assign($tagid,$this->GetPageListDM($list_len,$listitem));
继续找到 ,大概在 812 行左右
- function GetPageListDM($list_len)
把整个函数改成
- function GetPageListDM($list_len,$listitem="index,end,pre,next,pageno")
- {
- global $oldkeyword;
- $prepage="";
- $nextpage="";
- $prepagenum = $this->PageNo - 1;
- $nextpagenum = $this->PageNo + 1;
- if($list_len=="" || preg_match("/[^0-9]/", $list_len))
- {
- $list_len=3;
- }
- $totalpage = ceil($this->TotalResult / $this->PageSize);
- if($totalpage<=1 && $this->TotalResult>0)
- {
- return "<li><span class=\"pageinfo\">共 1 页 / ".$this->TotalResult." 条记录</span></li>\r\n";
- }
- if($this->TotalResult == 0)
- {
- return "<li><span class=\"pageinfo\">共 0 页/ ".$this->TotalResult." 条记录</span></li>\r\n";
- }
- $maininfo = "<li><span class=\"pageinfo\">共 <strong>{$totalpage}</strong>页 <strong>".$this->TotalResult."</strong>条</span></li>\r\n";
- $purl = $this->GetCurUrl();
- $oldkeyword = (emptyempty($oldkeyword) ? $this->Keyword : $oldkeyword);
- //当结果超过限制时,重设结果页数
- if($this->TotalResult > $this->SearchMaxRc)
- {
- $totalpage = ceil($this->SearchMaxRc/$this->PageSize);
- }
- $geturl = "keyword=".urlencode($oldkeyword)."&searchtype=".$this->SearchType;
- $geturl .= "&channeltype=".$this->ChannelType."&orderby=".$this->OrderBy;
- $geturl .= "&kwtype=".$this->KType."&pagesize=".$this->PageSize;
- $geturl .= "&typeid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
- $purl .= "?".$geturl;
- //获得上一页和下一页的链接
- if($this->PageNo != 1)
- {
- $prepage.="<li><a href='".$purl."PageNo=$prepagenum'>上一页</a></li>\r\n";
- $indexpage="<li><a href='".$purl."PageNo=1'>首页</a></li>\r\n";
- }
- else
- {
- $indexpage="<li><a href='".$purl."PageNo=1'>首页</a></li>\r\n";
- }
- if($this->PageNo!=$totalpage && $totalpage>1)
- {
- $nextpage.="<li><a href='".$purl."PageNo=$nextpagenum'>下一页</a></li>\r\n";
- $endpage="<li><a href='".$purl."PageNo=$totalpage'>末页</a></li>\r\n";
- }
- else
- {
- $endpage="<li><a href='".$purl."PageNo=$totalpage'>末页</a></li>\r\n";
- }
- //获得数字链接
- $listdd="";
- $total_list = $list_len * 2 + 1;
- if($this->PageNo >= $total_list)
- {
- $j = $this->PageNo - $list_len;
- $total_list = $this->PageNo + $list_len;
- if($total_list > $totalpage)
- {
- $total_list = $totalpage;
- }
- }
- else
- {
- $j=1;
- if($total_list > $totalpage)
- {
- $total_list = $totalpage;
- }
- }
- for($j; $j<=$total_list; $j++)
- {
- if($j == $this->PageNo)
- {
- $listdd.= "<li class=\"thisclass\"><a href='".$purl."PageNo=$j'>$j</a></li>\r\n";
- }
- else
- {
- $listdd.="<li><a href='".$purl."PageNo=$j'>$j</a></li>\r\n";
- }
- }
- $plist = '';
- if(preg_match('/index/i', $listitem)) $plist .= $indexpage;
- if(preg_match('/pre/i', $listitem)) $plist .= $prepage;
- if(preg_match('/pageno/i', $listitem)) $plist .= $listdd;
- if(preg_match('/next/i', $listitem)) $plist .= $nextpage;
- if(preg_match('/end/i', $listitem)) $plist .= $endpage;
- if(preg_match('/option/i', $listitem)) $plist .= $optionlist;
- if(preg_match('/info/i', $listitem)) $plist .= $maininfo;
- return $plist;
- }
搜索结果页 分页条标签写法(跟栏目列表分页标签一样)
- <div class="dede_pages">
- <ul class="pagelist">
- {dede:pagelist listitem="index,end,pre,next,pageno,info" listsize="5"/}
- </ul>
- </div>