ѡ̳

 找回密码
 ע
搜索
查看: 93|回复: 0
打印 上一主题 下一主题

新增数组分页 可以更灵活使用分页pagesarr

[复制链接]

789

主题

1158

帖子

4197

积分

Ա

Rank: 9Rank: 9Rank: 9

积分
4197
跳转到指定楼层
¥
发表于 2018-2-1 21:34:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
phpcms/libs/classes/template_cache.class.php   和/phpcms/libs/functions/global.func.php  新增$pagesarr
$multipage = array
                (
                         'page_first'  => pageurl($urlrule, 1, $array),
                         'page_prev'  =>'',
                         'page_next'  =>'',  
                         'page_last'  =>'',  
                         'page_number' =>array(),  
                         'page'  => $curr_page,
                         'page_count'  => ceil($num/$perpage),
                         'count'  => $num,
                );


原函数

function pagesarr($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 = array
                (
                         'page_first'  => pageurl($urlrule, 1, $array),
                         'page_prev'  =>'',
                         'page_next'  =>'',  
                         'page_last'  =>'',  
                         'page_number' =>array(),  
                         'page'  => $curr_page,
                         'page_count'  => ceil($num/$perpage),
                         'count'  => $num,
                );

        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;
                }
               
                //L('page_item')
                 //$multipage .= '<a class="a1">'.$num.L('page_item').'</a>';
                // $multipage['page_count'] = $num;
                 
                // $multipage .= '';
                if($curr_page>0) {
                        
               
                        //$multipage .= ' <a href="'.pageurl($urlrule, $curr_page-1, $array).'" class="a1">'.L('previous').'</a>';
                        //$multipage .= ' <a href="'.pageurl($urlrule, $curr_page-1, $array).'" class="a1"><</a>';
                        $multipage['page_prev'] = pageurl($urlrule, $curr_page-1, $array);
                        
                        if($curr_page==1) {
                                //$multipage .= ' <a class="ok">1</a>';
                                $multipage['page_number'][1] = pageurl($urlrule, 1, $array);
                        } elseif($curr_page>6 && $more) {
                                //$multipage .= ' <a href="'.pageurl($urlrule, 1, $array).'">1</a>..';
                                $multipage['page_number'][1] = pageurl($urlrule, 1, $array);
                        } else {
                                //$multipage .= ' <a href="'.pageurl($urlrule, 1, $array).'">1</a>';
                                $multipage['page_number'][1] = pageurl($urlrule, 1, $array);
                        }
                        
                        
                }
               
                // echo $from."##".$to; exit;
               
               
                for($i = $from; $i <= $to; $i++) {
                        
                        
                        
                        if($i != $curr_page) {
                                //$multipage .= ' <a href="'.pageurl($urlrule, $i, $array).'">'.$i.'</a>';
                          
                            $multipage['page_number'][$i] =  pageurl($urlrule, $i, $array);
                                
                        } else {
                                //$multipage .= ' <a class="ok" >'.$i.'</a';
                                
                                $multipage['page_number'][$i] =  pageurl($urlrule, $i, $array);
                        }
                }
                if($curr_page<$pages) {
                        if($curr_page<$pages-5 && $more) {
                                //L('next');
                                
                                //$multipage .= ' ..<a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" class="a1">></a>';
                        } else {
                                //$multipage .= ' <a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" class="a1">></a>';
                        }
                        
                    $multipage['page_number'][$pages] =  pageurl($urlrule, $pages, $array);
                        $multipage['page_last'] = pageurl($urlrule, $pages, $array);
                        $multipage['page_next'] = pageurl($urlrule, $curr_page+1, $array);
                        
                } elseif($curr_page==$pages) {
                        //$multipage .= ' <a class="ok" >'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page, $array).'" class="a1">></a>';
                    $multipage['page_number'][$pages] =  pageurl($urlrule, $pages, $array);
                        $multipage['page_last'] = pageurl($urlrule, $pages, $array);
                        $multipage['page_next'] = pageurl($urlrule, $curr_page, $array);
                        
                } else {
                        //$multipage .= ' <a href="'.pageurl($urlrule, $pages, $array).'">'.$pages.'</a> <a href="'.pageurl($urlrule, $curr_page+1, $array).'" class="a1">></a>';
                   $multipage['page_last'] = pageurl($urlrule, $pages, $array);
                   $multipage['page_next'] = pageurl($urlrule, $pages, $array);
                }
        }
        
        
        
        return $multipage;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | ע

本版积分规则

QQ|Archiver|ֻ|С|ѡ̳

GMT+8, 2026-5-2 04:40 , Processed in 0.091500 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表
0.1055s