星联网络专注帝国CMS二次功能插件开发-精品网站模板站长代码素材

  • 最近更新
  • 模板:33
  • 记录:12640|
  • 插件:52|
  • 工具:4|
  • 代码:8|
  • 评论:0

dedecms织梦模板搜索页分页样式的修改及搜索单页显示条数的修改方法

前言

本文主要讲解《dedecms织梦模板搜索页分页样式的修改及搜索单页显示条数的修改方法》的详细内容

在使用DEDECMS建站过程中,发现搜索页分页方式竟然还是使用<TABLE>方式,而且不受CSS控制,本着方便调整及有利SEO的角度,很有必要把<TABLE><TD>的方式改成用<UL><LI>控制的方式,这样我们能通过CSS自定义样式更方便融入不同的风格的模板中使用。
言归正传,下面教你怎么把DEDE搜索页的分页方式改成和列表页一样,通过LI控制
我们发现搜索模板里面的分页标签pagelist和普通的分页不一样,常见的分页控制代码是在include/arc.listview.class.php里面,而搜索页的分页是写在include/arc.searchview.class.php里面。因此需要修改这个文件。
打开
然后搜索 获取动态的分页列表
将获取动态的分页列表 一直到 //获得数字链接 之间的内容全部替换成下面代码
/**
     *  获取动态的分页列表
     *
     * @access    public
     * @param     string  $list_len  列表宽度
     * @return    string
     */
    function GetPageListDM($list_len)
    {
        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 "共1页/".$this->TotalResult."条记录";
        }
        if($this->TotalResult == 0)
        {
            return "共0页/".$this->TotalResult."条记录";
        }
        $purl = $this->GetCurUrl();
         
        $oldkeyword = (empty($oldkeyword) ? $this->Keyword : $oldkeyword);
        //当结果超过限制时,重设结果页数
        if($this->TotalResult > $this->SearchMaxRc)
        {
            $totalpage = ceil($this->SearchMaxRc/$this->PageSize);
        }
        $infos = "<li>找到<b>".$this->TotalResult."</b>条记录/只显示<b>{$totalpage}</b>页 </li>rn";
        $geturl = "keyword=".urlencode($oldkeyword)."&searchtype=".$this->SearchType;
        $hidenform = "<input type='hidden' name='keyword' value='".rawurldecode($oldkeyword)."'>rn";
        $geturl .= "&channeltype=".$this->ChannelType."&orderby=".$this->OrderBy;
        $hidenform .= "<input type='hidden' name='channeltype' value='".$this->ChannelType."'>rn";
        $hidenform .= "<input type='hidden' name='orderby' value='".$this->OrderBy."'>rn";
        $geturl .= "&kwtype=".$this->KType."&pagesize=".$this->PageSize;
        $hidenform .= "<input type='hidden' name='kwtype' value='".$this->KType."'>rn";
        $hidenform .= "<input type='hidden' name='pagesize' value='".$this->PageSize."'>rn";
        $geturl .= "&typeid=".$this->TypeID."&TotalResult=".$this->TotalResult."&";
        $hidenform .= "<input type='hidden' name='typeid' value='".$this->TypeID."'>rn";
        $hidenform .= "<input type='hidden' name='TotalResult' value='".$this->TotalResult."'>rn";
        $purl .= "?".$geturl;
        //获得上一页和下一页的链接
        if($this->PageNo != 1)
        {
            $prepage.="<li><a href='".$purl."PageNo=$prepagenum'>上一页</a></li>rn";
            $indexpage="<li><a href='".$purl."PageNo=1'>首页</a></li>rn";
        }
        else
        {
            $indexpage="<li>首页</li>rn";
        }
        if($this->PageNo!=$totalpage && $totalpage>1)
        {
            $nextpage.="<li><a href='".$purl."PageNo=$nextpagenum'>下一页</a></li>rn";
            $endpage="<li><a href='".$purl."PageNo=$totalpage'>末页</a></li>rn";
        }
        else
        {
            $endpage="<li>末页</li>rn";
        }
        //获得数字链接
 




另外发现DEDECMS的搜索结果数量不受设置的 {dede:list perpage='10' titlelen=100}这里的perpage控制,也不受pagesize控制,不知道是个例还是都这样,我这里只能通过修改search.php中的
$ pagesize =(isset($pagesize)is_numeric($pagesize))?$pagesize:10;
这里的10来实现数量控制

本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。

本文地址:http://www.xlkjgs.com/notes/web/10193.html

以上内容由本站整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

星联网络

星联网络是中国最具实战的互联网创业者的知识服务商,这里有互联网行业动态,网络推广,SEO优化,SEM优化,ESC配置,行业经验分型,互联网项目,微信营销、淘宝客赚钱、新媒体营销、京东运营、跨境电商等众多互联网营销知识分享

站长运营站长必备网站运营之道才能长久发展