phpcms v9 自定义分页 带下拉跳转

2019-12-25 浏览:1814
phpcms v9 自定义分页 带下拉跳转
评论:(0)复制地址

打开phpcms\libs\functions\global.func.php,找到pages()函数,在下面新增

这个方法要同时结合《phpcms新增分页样式修改》使用。

 

function new_pages($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(),$setpages = 10) {

        if(defined('URLRULE') && $urlrule == '') {

                $urlrule = URLRULE;

                $array = $GLOBALS['URL_ARRAY'];

        } elseif($urlrule == '') {

                $urlrule = url_par('page={$page}');

        }

        $multipage = '';

        if($num > $perpage) {

                $page = $setpages+1;

                $offset = ceil($setpages/2-1);

                $pages = ceil($num / $perpage);

                if (defined('IN_ADMIN') && !defined('PAGES')) define('PAGES', $pages);

                $from = $curr_page - $offset;

                $to = $curr_page + $offset;

                $more = 0;

                if($page >= $pages) {

                        $from = 2;

                        $to = $pages-1;

                } else {

                        if($from <= 1) {

                                $to = $page-1;

                                $from = 2;

                        }  elseif($to >= $pages) {

                                $from = $pages-($page-2);

                                $to = $pages-1;

                        }

                        $more = 1;

                }

 

                // 如果总页数大于1才显示当前页码信息等。

                if ($pages > 1)

                {   

                        

                        $multipage .= '<p>共 '.$num.' 条 每页显示 '.$perpage.' 条 </p>';

                        $multipage .= '<ul>';

                        $multipage .= '<li>';

                        // 首页。

                        $multipage .= '<a href="'.pageurl($urlrule, 1, $array).'">[首页]</a>';

                        $multipage .= '</li>';

                }

               

                if($curr_page>0) {

                        $multipage .= ' <li><a href="'.pageurl($urlrule, $curr_page-1, $array).'" >[上一页]</a></li>';

                        if($curr_page==1) {

                                $multipage .= ' <li><span>1</span></li>';

                        } elseif($curr_page>6 && $more) {

                                $multipage .= ' <li><a href="'.pageurl($urlrule, 1, $array).'">1</a>..</li>';

                        } else {

                                $multipage .= ' <li><a href="'.pageurl($urlrule, 1, $array).'">1</a></li>';

                        }

                }

                for($i = $from; $i <= $to; $i++) {

                        if($i != $curr_page) {

                                $multipage .= ' <li><a href="'.pageurl($urlrule, $i, $array).'">'.$i.'</a></li>';

                        } else {

                                $multipage .= ' <li><span>'.$i.'</span></li>';

                        }

                }

                if($curr_page<$pages) {

                        if($curr_page<$pages-5 && $more) {

                                $multipage .= ' <li>..<a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" >[下一页]</a></li>';

                        } else {

                                $multipage .= ' <li><a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" >[下一页]</a></li>';

                        }

                } elseif($curr_page==$pages) {

                        $multipage .= ' <li><span>'.$pages.'</span> <a href="'.pageurl($urlrule, $curr_page, $array).'" >下一页</a></li>';

                } else {

                        $multipage .= ' <li><a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" >[下一页]</a></li>';

                }

        }

        $str = http_build_query($_GET);

        $ppp=explode(page,$str);

        // 如果总页数大于1才显示“最后一页”。

        if ($pages > 1)

        {   

               

        

                $multipage .= ' <li><a href="'.pageurl($urlrule, $pages, $array).'">[尾页]</a></li>';

                $multipage .=' <li>'.$curr_page.'/'.$pages.'</li>';

                $multipage .= ' <li><select>';

                                $multipage .= "<option value='0'>跳转到</option>";

                                for($i=1; $i<=$pages; $i++)

                                {

                                       

                                        $multipage .= "<option value='index.php?$ppp[0]&page=$i'>第$i 页</option>";        

                                }

           $multipage .= '</select></li> ';

           

                $multipage .= '</ul>';

        }

        return $multipage;

}




评论:(0)复制地址
发布:苗景云 | 分类:IT技术&设计 | Tags:phpcms

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。