desmart/pagination

此包已被弃用,不再维护。未建议替代包。

Laravel 分页增强版

1.2.1 2015-03-09 23:08 UTC

This package is auto-updated.

Last update: 2022-02-01 12:25:23 UTC


README

Build Status

此包是 Laravel4 分页模块的扩展。

它提供新的功能

  • 基于路由的 URL 生成器
  • 模板渲染助手

安装

composer.json 中添加:"desmart/pagination": "1.2.*",然后运行 composer update desmart/pagination

app/config/app.php 中将 'Illuminate\Pagination\PaginationServiceProvider', 替换为 'DeSmart\Pagination\PaginationServiceProvider',

兼容性

此包不应破坏与 Laravel 分页模块的兼容性。

Laravel 4.1

要使用 Laravel 4.1 中的 desmart/pagination,切换到版本 1.1.*

Laravel 4.0

要使用 Laravel 4.0 中的 desmart/pagination,切换到版本 1.0.*

方法概述

通用用法

  • withQuery() - 将查询参数绑定到 URL 生成器(默认情况下包含查询参数)。仅适用于从路由生成 URL。
  • withoutQuery() - 不绑定查询参数
  • route($route[, array $parameters]) - 使用给定的路由生成页面 URL(可以是路由名称或 Illuminate\Routing\Route 实例)
  • useCurrentRoute() - 使用当前(活动)路由生成 URL

模板使用

  • pagesProximity($proximity) - 设置页面邻近度
  • getPagesRange() - 获取要在模板中显示的页面列表(包括邻近度)
  • canShowFirstPage() - 检查是否可以显示第一页(当第一页不在由 getPagesRange() 生成的列表中时返回 TRUE
  • canShowLastPage() - 检查是否可以显示最后一页(当最后一页不在由 getPagesRange() 生成的列表中时返回 TRUE

示例用法

控制器中

// example route (app/routes.php)
Route::get('/products/{page}.html', array('as' => 'products.list', 'uses' => ''));

// use the current route
$list = Product::paginate(10)
  ->useCurrentRoute()
  ->pagesProximity(3);
  
// use custom route
$list = Product::paginate(10)
  ->route('products.list')
  ->pagesProximity(3);

视图中

// app/view/products/list.blade.php

@foreach ($list as $item)
{{-- show item --}}
@endforeach

{{ $list->links('products.paginator') }}

// app/view/products/paginator.blade.php

@if ($paginator->getLastPage() > 1)
  @foreach ($paginator->getPagesRange() as $page)
    {{ $page }}
  @endforeach
@endif

许可证

此包是开源软件,许可协议为 MIT 许可证