Laravel - 强制分页链接显示即使只有一个页面

时间:2016-04-22 11:04:05

标签: php laravel pagination

我正在使用laravel pagination,但我希望显示分页链接,无论是否只有一个页面,还是多个页面。

目前,只有在有多页结果时才显示。

Eloquent Call

$products = Product::where('username', Sentry::getUser()->username)->paginate(25);

然后使用

显示在视图中
{!! $products->links() !!}

如果只有一个页面,我如何强制Laravel显示它?

3 个答案:

答案 0 :(得分:3)

发布分页视图:

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

此命令会将视图放置在resources/views/vendor/pagination目录中。

默认视图为bootstrap-4.blade.php,只需删除此文件中的@if ($paginator->hasPages())

答案 1 :(得分:2)

没有简单的方法,因为它是硬编码的。但是,您可以扩展SimpleBootstrapThreePresenter并覆盖hasPages()方法:

public function hasPages()
{
    return true;
}

而不是:

public function hasPages()
{
    return $this->paginator->hasPages() && count($this->paginator->items()) > 0;
}

答案 2 :(得分:2)

关注Alexey Mezenin's answer,我扩展了BootstrapThreePresenter类:

<?php namespace App\Extend;

use Illuminate\Pagination\BootstrapThreePresenter;

class CustomPaginationLinks extends BootstrapThreePresenter {

    public function hasPages()
    {
        return true;
    }

}

然后能够在视图中呈现如下:

{!! with(new App\Extend\CustomPaginationLinks($products))->render() !!}