信息发布→ 登录 注册 退出

laravel怎么自定义分页的视图样式_laravel分页视图样式自定义方法

发布时间:2025-10-29

点击量:
可通过自定义分页视图和控制器配置修改Laravel分页样式:1. 执行php artisan vendor:publish --tag=laravel-pagination生成默认视图并修改HTML结构;2. 手动创建my-paginator.blade.php文件,编写自定义分页HTML并在Blade中调用$users->links('pagination.my-paginator');3. 在控制器中使用appends()添加查询参数或setPath()设置路径前缀以定制分页行为。

如果您在使用 Laravel 的分页功能时希望修改默认的分页样式,使其与项目前端风格保持一致,可以通过自定义分页视图来实现。Laravel 允许开发者完全控制分页 HTML 结构,从而灵活地应用 CSS 样式。

本文运行环境:MacBook Pro,macOS Sonoma

一、使用 Laravel 自带的分页视图生成器

通过 Artisan 命令可以快速生成分页视图文件,便于后续修改。这些视图基于 Bootstrap 构建,但可自由调整。

1、打开终端并执行以下命令以生成默认分页视图:

php artisan vendor:publish --tag=laravel-pagination

2、执行后,系统会将分页视图复制到 resources/views/vendor/pagination 目录下。

3、进入该目录,可以看到多个 Blade 模板文件,如 simple-bootstrap-4.blade.php、bootstrap-4.blade.php 等。

4、选择需要修改的模板(例如 bootstrap-4.blade.php),用文本编辑器打开并根据设计需求更改 HTML 结构和类名。

二、创建自定义分页视图文件

若不依赖默认模板,可手动创建全新的分页视图文件,并在代码中指定使用该视图。

1、在 resources/views 目录下新建文件夹 pagination,然后创建自定义视图文件,例如 my-paginator.blade.php。

2、在该文件中编写所需的 HTML 结构,示例代码如下:


  

        @if ($paginator->onFirstPage())
          
  • 上一页

  •     @else
          
  • previousPageUrl()%20%7D%7D">上一页

  •     @endif

        @foreach ($elements as $element)
          @if (is_string($element))
            
  • {{ $element }}

  •       @endif

          @if (is_array($element))
            @foreach ($element as $page => $url)
              @if ($page == $paginator->currentPage())
                
  • {{ $page }}

  •           @else
                
  • {{ $page }}

  •           @endif
            @endforeach
          @endif
        @endforeach

        @if ($paginator->hasMorePages())
          
  • nextPageUrl()%20%7D%7D">下一页

  •     @else
          
  • 下一页

  •     @endif
      

3、保存文件后,在 Blade 模板中调用该分页视图:

{{ $users->links('pagination.my-paginator') }}

三、通过控制器传递额外参数定制分页行为

在某些场景下,可能需要为分页链接添加额外查询参数或路径前缀,这也可以影响最终渲染效果。

1、在控制器中对分页结果进行配置,例如添加查询字符串:

$users = User::paginate(10)->appends(['sort' => 'name']);

2、或者设置分页链接的基础路径:

$users = User::paginate(10)->setPath('custom/path');

3、在视图中正常输出分页链接即可看到路径或参数已变更。

标签:# class  # 这也  # 所需  # 多个  # 目录下  # 运行环境  # 并在  # 上一页  # 下一页  # 自定义  # 分页  # li  # ul  # href  # laravel  # 字符串  # foreach  # sort  # if  # macos  # mac  # macbook  # app  # bootstrap  # 前端  # html  # php  # css  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!