Laravel 5 中的自定义分页视图

新手上路,请多包涵

Laravel 4.2 可以选择在 app/config/view.php 中指定自定义视图,例如:

 /*
|--------------------------------------------------------------------------
| Pagination View
|--------------------------------------------------------------------------
|
| This view will be used to render the pagination link output, and can
| be easily customized here to show any view you like. A clean view
| compatible with Twitter's Bootstrap is given to you by default.
|
*/
'pagination' => 'pagination_slider-alt'

至少关于 view.php ,这在 Laravel 5 中消失了。

有没有办法在 Laravel 5 中复制这种行为?

原文由 user2094178 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 429
2 个回答

而在 Laravel 4.2 中,我会使用:

 {{ $users->links('view.name') }}

Laravel 5 中,您可以使用以下内容复制上述内容:

 @include('view.name', ['object' => $users])

Now in the included view, $object will have the pagination methods available, such as currentPage() , lastPage() , perPage() , etc.

您可以在 http://laravel.com/docs/5.0/pagination 查看所有可用的方法

原文由 user2094178 发布,翻译遵循 CC BY-SA 3.0 许可协议

这是另一个例子

  • 控制器

\(projects = \)projects->offset(\(page \* \)limit)->paginate($limit);

  • 刀片文件

{{$projects->links(‘provider.pages.merchandising.partials.paginator’)}}

  • 分页器视图
    <div class="d-flex flex-wrap mr-3">
        <!-- first/previous -->
        @if($paginator->currentPage() > 1)
            <a href="{{ $paginator->url(1) }}" class="btn btn-icon btn-sm btn-light-primary mr-2 my-1">
                <i class="ki ki-bold-double-arrow-back icon-xs"></i>
            </a>
            <a href="{{$paginator->url($paginator->currentPage() - 1)}}" class="btn btn-icon btn-sm btn-light-primary mr-2 my-1">
                <i class="ki ki-bold-arrow-back icon-xs"></i>
            </a>
        @else
            <a href="javascript:void(0)" class="btn btn-icon btn-sm btn-light-secondary mr-2 my-1">
                <i class="ki ki-bold-double-arrow-back icon-xs text-white"></i>
            </a>
            <a href="javascript:void(0)" class="btn btn-icon btn-sm btn-light-secondary mr-2 my-1">
                <i class="ki ki-bold-arrow-back icon-xs text-white"></i>
            </a>
        @endif

        @php
            $interval = isset($interval) ? abs(intval($interval)) : 3 ;
            $from = $paginator->currentPage() - $interval;
            if($from < 1){
                $from = 1;
            }

            $to = $paginator->currentPage() + $interval;
            if($to > $paginator->lastPage()){
                $to = $paginator->lastPage();
            }
        @endphp

        @if($from > 1)
            <a href="{{ $paginator->url($from - 1) }}" class="btn btn-icon btn-sm border-0 btn-hover-primary mr-2 my-1">...</a>
        @endif

        @for($i = $from; $i <= $to; $i++)
            @php
                $isCurrentPage = $paginator->currentPage() == $i;
            @endphp
            <a href="{{ !$isCurrentPage ? $paginator->url($i) : 'javascript:void(0)' }}"  class="{{ $isCurrentPage ? 'active' : '' }} btn btn-icon btn-sm border-0 btn-hover-primary mr-2 my-1">
                {{ $i }}
            </a>
        @endfor

        @if($to < $paginator->lastPage())
            <a href="{{ $paginator->url($to + 1) }}" class="btn btn-icon btn-sm border-0 btn-hover-primary mr-2 my-1">...</a>
        @endif

        @if($paginator->currentPage() < $paginator->lastPage())
            <a href="{{ $paginator->url($paginator->currentPage() + 1) }}" class="btn btn-icon btn-sm btn-light-primary mr-2 my-1">
                <i class="ki ki-bold-arrow-next icon-xs"></i>
            </a>
            <a href="{{ $paginator->url($paginator->lastpage()) }}" class="btn btn-icon btn-sm btn-light-primary mr-2 my-1">
                <i class="ki ki-bold-double-arrow-next icon-xs"></i>
            </a>
        @else
            <a href="javascript:void(0)" class="btn btn-icon btn-sm btn-light-primary mr-2 my-1">
                <i class="ki ki-bold-arrow-next icon-xs"></i>
            </a>
            <a href="javascript:void(0)" class="btn btn-icon btn-sm btn-light-primary mr-2 my-1">
                <i class="ki ki-bold-double-arrow-next icon-xs"></i>
            </a>
        @endif
    </div>

  • 它应该看起来像这样。

在此处输入图像描述

原文由 Alek Smith 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题