phpcms v9 自定义伪静态的分页函数

本文深入探讨并实现了自定义伪静态的分页函数,详细解释了其内部逻辑与使用方法,包括信息总数、当前分页、每页显示数、URL规则及额外参数的传递,确保网页在不同分页时能够正确呈现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为。这个页面还没做好。。等做好了。。再给大家演示。。。。。。

调用方法:$page_attr=pages_open($num[0]['cun'],$get_page,$max_page,'http://wuhan.qunaerwan.com/jingdian-'.$pieces[0].'-'.$pieces[1].'-'.$pieces[2].'-'.$pieces[3].'-'.$pieces[4].'-'.$pieces[5].'-'.$key.'-');


/**
* 自定义伪静态的分页函数。
*
* @param $num 信息总数
* @param $curr_page 当前分页
* @param $perpage 每页显示数
* @param $urlrule URL规则
* @param $array 需要传递的数组,用于增加额外的方法
* @return 分页
*/
function pages_open($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(),$setpages = 10){
    $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;
        }
        $multipage .= '<a class="a1">'.$num.L('page_item').'</a>';
   

   
        
        if($curr_page>0) {
        
            
            if($curr_page==1) {
            $multipage .= ' <a href="'.$urlrule.$curr_page.'.html" class="a1">'.L('previous').'</a>';
                $multipage .= ' <span>1</span>';
            } elseif($curr_page>6 && $more) {
            $multipage .= ' <a href="'.$urlrule.($curr_page-1).'.html" class="a1">'.L('previous').'</a>';
                $multipage .= ' <a href="'.$urlrule.'1.html">1</a>..';
            } else {
            $multipage .= ' <a href="'.$urlrule.($curr_page-1).'.html" class="a1">'.L('previous').'</a>';
                $multipage .= ' <a href="'.$urlrule.'1.html">1</a>';
            }
        }
        
        for($i = $from; $i <= $to; $i++) {
            if($i != $curr_page) {
                $multipage .= ' <a href="'.$urlrule.$i.'.html">'.$i.'</a>';
            } else {
                $multipage .= ' <span>'.$i.'</span>';
            }
        }
        
        if($curr_page<$pages) {
            if($curr_page<$pages-5 && $more) {
                $multipage .= ' ..<a href="'.$urlrule.$pages.'.html">'.$pages.'</a> <a href="'.$urlrule.($curr_page+1).'.html" class="a1">'.L('next').'</a>';
            } else {
                $multipage .= ' <a href="'.$urlrule.$pages.'.html">'.$pages.'</a> <a href="'.$urlrule.($curr_page+1).'.html" class="a1">'.L('next').'</a>';
            }
        } elseif($curr_page==$pages) {
            $multipage .= ' <span>'.$pages.'</span> <a href="'.$urlrule.$curr_page.'.html" class="a1">'.L('next').'</a>';
        } else {
            $multipage .= ' <a href="'.$urlrule.$pages.'.html">'.$pages.'</a> <a href="'.$urlrule.$curr_page.'.html" class="a1">'.L('next').'</a>';
        }
        
        
    }
    return $multipage;
}

 

PHPCMS V9自定义栏目伪静态实现方法如下: 1. 在 PHPCMS 的后台找到“栏目管理”并进入“修改栏目”页面,找到“栏目目录”一栏,将其改为英文名称,例如“news”。 2. 进入 PHPCMS 的后台,找到“系统设置”并进入“URL设置”页面,选择“伪静态模式”并将“扩展名”设为空,然后在“自定义规则”中添加以下规则: RewriteRule ^news/([0-9]+)/?$ index.php?m=content&c=index&a=lists&catid=$1 [L] RewriteRule ^news/index.html$ index.php?m=content&c=index&a=lists&catid=6 [L] 3. 在服务器上开启 Apache 的 mod_rewrite 模块,可以在 Apache 的配置文件(httpd.conf)中添加以下语句: LoadModule rewrite_module modules/mod_rewrite.so 4. 在 PHPCMS 的根目录下创建一个名为“.htaccess”的文件,并将以下代码复制到该文件中: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 5. 保存并上传“栏目目录”中的所有文件和文件夹。 6. 在浏览器中输入网站地址加上“news/”,例如“http://example.com/news/”,即可访问自定义栏目的静态页面。 注意事项: 1. 请确保服务器已开启 mod_rewrite 模块,并在 Apache 的配置文件中添加了相应的语句。 2. 在修改“栏目目录”和“自定义规则”时,请确保它们的对应关系正确。 3. 如果您不熟悉 Apache 的配置和 mod_rewrite 模块的使用,请谨慎更改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值