tp5 修改默认的分页url

默认分页url:xx.com/xxx?page=1

个人主要感觉不美观,想变成xx.com/xxx/list_1.html这样的

框架本身默认使用的boostrap分页类,目录位置

simplewind\thinkphp\library\think\paginator\driver\Bootstrap.php

调用url的主要是父类Paginator的url方法

simplewind\thinkphp\library\think\Paginator.php

我们首先修改url代码

复制代码
protected function url($page)
    {
        if ($page <= 0) {
            $page = 1;
        }

        if (strpos($this->options['path'], '[PAGE]') === false) {
            $parameters = [$this->options['var_page'] => $page];
            $path       = $this->options['path'];
        } else {
            $parameters = [];
            $path       = str_replace('[PAGE]', $page, $this->options['path']);
        }
        if (count($this->options['query']) > 0) {
            $parameters = array_merge($this->options['query'], $parameters);
        }
        $path = preg_replace('/\/page\/\d+/','',$path);//修改结果
        // $url = $path;
        if (!empty($parameters)) {

            $url = $path.'/'.$this->options['var_page'].'_'.$page.'.html';//修改结果
            // $url .= '?' . http_build_query($parameters, null, '&');
        }
        return $url . $this->buildFragment();
    }
复制代码

我们看到url前缀调用的是'var_page'配置文件中的配置

路径是

app\config.php

查找var_page,然后修改成我们需要的前缀就可以了。

 

完事!

posted @   小ྀ青ྀ年້  阅读(1780)  评论(3编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示