dedecms织梦模板制作文章分页的方法

时间:5年前   阅读:6160

文章的分页在网站用户体验上起着举足轻重的地位,好的分页可以给用户一个好的印象,更能留住来访者

偶然发现某知名博主关于文章的分页样式做的相当不错,于是乎自己开始仿!

  看到这里的分页当然第一想到的肯定是{dede:pagebreak/},但是这个用后的结果来看没什么功能上来说够齐全,但样式上很难控制,还是咱自己动手吧,丰衣足食么。。

  打开include/arc.archives.class.php,我们这里主要更改两个函数(GetPagebreakDM、GetPagebreak)就行了。更改的时候注意,一般最好不要大动,能小改就小改,还要备份哦!

  下面是我更改过后的,加上CSS样式,基本完全一样

/**
     *  获得动态页面分页列表
     *
     * @access    public
     * @param     int   $totalPage  总页数
     * @param     int   $nowPage  当前页数
     * @param     int   $aid  文档id
     * @return    string
     */
    function GetPagebreakDM($totalPage, $nowPage, $aid)
    {
        global $cfg_rewrite;
        if($totalPage==1)
        {
            return "";
        }
        $PageList = "<ul>";
       //获取分页导航
        for($i=1;$i<=$totalPage;$i++)
        {
            if($i==1)
            {
                if($nowPage!=1)
                {
                    $PageList.="<li><a href='view.php?aid=$aid'>1</a></li>";
                    if($cfg_rewrite == 'Y')
                    {
                        $PageList = preg_replace("#.php\?aid=(\d+)#i", '-\\1-1.html', $PageList);
                    }
                }
                else
                {
                    $PageList.="<li><span>1</span></li>";
                }
            }
            else
            {
                $n = $i;
                if($nowPage!=$i)
                {
                    $PageList.="<li><a href='view.php?aid=$aid&pageno=$i'>".$n."</a></li>";
                    if($cfg_rewrite == 'Y')
                    {
                        $PageList = str_replace(".php?aid=", "-", $PageList);
                        $PageList =  preg_replace("#&pageno=(\d+)#i", '-\\1.html', $PageList);
                    }
                }
                else
                {
                    $PageList.="<li><span>{$n}</span></li>";
                }
            }
        }
         $nPage = $nowPage-1;
        $lPage = $nowPage+1;
        if($nowPage==1)
        {
            $PageList.="<li><span class=\"next\">上一页</span></li>";
        }
        else
        {
            if($nPage==1)
            {
                $PageList.="<li><a class=\"next\" href='view.php?aid=$aid'>上一页</a></li>";
                if($cfg_rewrite == 'Y')
                {
                    $PageList = preg_replace("#.php\?aid=(\d+)#i", '-\\1-1.html', $PageList);
                }
            }
            else
            {
                $PageList.="<li><a class=\"next\" href='view.php?aid=$aid&pageno=$nPage'>上一页</a></li>";
                if($cfg_rewrite == 'Y')
                {
                    $PageList = str_replace(".php?aid=", "-", $PageList);
                    $PageList =  preg_replace("#&pageno=(\d+)#i", '-\\1.html', $PageList);
                }
            }
        }
        if($lPage < $totalPage)
        {
            $PageList.="<li><a class=\"next\" href='view.php?aid=$aid&pageno=$lPage'>下一页</a></li>";
            if($cfg_rewrite == 'Y')
            {
                $PageList = str_replace(".php?aid=", "-", $PageList);
                $PageList =  preg_replace("#&pageno=(\d+)#i", '-\\1.html', $PageList);
            }
        }
        else
        {
            $PageList.= "<li><span class=\"next\">下一页</span></li>";
        }
        return $PageList."</ul>";
    }

    /**
     *  获得静态页面分页列表
     *
     * @access    public
     * @param     int   $totalPage  总页数
     * @param     int   $nowPage  当前页数
     * @param     int   $aid  文档id
     * @return    string
     */
    function GetPagebreak($totalPage, $nowPage, $aid)
    {
        if($totalPage==1)
        {
            return "";
        }
        $PageList = "<ul>";
        
        for($i=1;$i<=$totalPage;$i++)
        {
            if($i==1)
            {
                if($nowPage!=1)
                {
                    $PageList.="<li><a href='".$this->NameFirst.".".$this->ShortName."'>1</a></li>";
                }
                else
                {
                    $PageList.="<li><span>1</span></li>";
                }
            }
            else
            {
                $n = $i;
                if($nowPage!=$i)
                {
                    $PageList.="<li><a href='".$this->NameFirst."_".$i.".".$this->ShortName."'>".$n."</a></li>";
                }
                else
                {
                    $PageList.="<li><span>{$n}</span></li>";
                }
            }
        }
    $nPage = $nowPage-1;
        $lPage = $nowPage+1;
        if($nowPage==1)
        {
            $PageList.="<li><span class=\"next\">上一页</span></li>";
        }
        else
        {
            if($nPage==1)
            {
                $PageList.="<li><a class=\"next\" href='".$this->NameFirst.".".$this->ShortName."'>上一页</a></li>";
            }
            else
            {
                $PageList.="<li><a class=\"next\" href='".$this->NameFirst."_".$nPage.".".$this->ShortName."'>上一页</a></li>";
            }
        }
        
        if($lPage <= $totalPage)
        {
            $PageList.="<li><a class=\"next\" href='".$this->NameFirst."_".$lPage.".".$this->ShortName."'>下一页</a></li>";
        }
        else
        {
            $PageList.= "<li><span class=\"next\">下一页</span></li>";
        }
        return $PageList."</ul>";
    }

本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。

微信扫码关注

更新实时通知

上一篇:期权买方可以不行权吗?

下一篇:期权交易收盘时间是几点?

网友评论

请先 登录 再评论,若不是会员请先 注册