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

Php Laravel-强制分页链接显示,即使只有一个页面,php,laravel,pagination,Php,Laravel,Pagination,我正在使用,但是我希望显示分页链接,不管是只有一个页面还是多个页面 当前,仅当有多页结果时才会显示 雄辩的呼唤 $products = Product::where('username', Sentry::getUser()->username)->paginate(25); 然后使用显示在视图中 {!! $products->links() !!} 当只有一个页面时,我如何强制Laravel显示它?没有简单的方法,因为它是硬编码的。但是,您可以扩展和重写方法: 而不是:

我正在使用,但是我希望显示分页链接,不管是只有一个页面还是多个页面

当前,仅当有多页结果时才会显示

雄辩的呼唤

$products = Product::where('username', Sentry::getUser()->username)->paginate(25);
然后使用显示在视图中

{!! $products->links() !!}

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

没有简单的方法,因为它是硬编码的。但是,您可以扩展和重写方法:

而不是:

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

没有简单的方法,因为它是硬编码的。但是,您可以扩展和重写方法:

而不是:

public function hasPages()
{
    return $this->paginator->hasPages() && count($this->paginator->items()) > 0;
}
接下来,我扩展了BootstrapThreePresenter类:

接下来,我扩展了BootstrapThreePresenter类:


发布分页视图:

php artisan vendor:publish --tag=laravel-pagination
此命令将把视图放在resources/views/vendor/pagination目录中


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

发布分页视图:

php artisan vendor:publish --tag=laravel-pagination
此命令将把视图放在resources/views/vendor/pagination目录中


默认视图是bootstrap-4.blade.php,只需删除该文件中的@if$paginator->hasPages即可。

自己实现它。只需阅读您链接的文档,然后使用您的集合创建您自己的刀片视图,如:@include'layout.component.pagination',['paginated'=>$products]我不确定您的意思-文档中没有任何关于如何创建自定义分页标记的内容。请提供文档的链接好吗?在“附加助手方法”下,您可以从Paginator使用一些方法。您可以创建自己的视图,自己实现。只需阅读您链接的文档,然后使用您的集合创建您自己的刀片视图,如:@include'layout.component.pagination',['paginated'=>$products]我不确定您的意思-文档中没有任何关于如何创建自定义分页标记的内容。请提供文档的链接好吗?在“附加助手方法”下,您可以从Paginator使用一些方法。您只需创建自己的视图即可。另一个关于分页的文档:谢谢,这很有效。我用我的完整代码创建了另一个答案,因为我不知道如何在注释中获得它。另一个关于分页的文档:谢谢,这很有效。我用我的完整代码创建了另一个答案,因为我不知道如何在评论中得到它。很高兴它有帮助,Evan。谢谢你的代码示例,我认为它对未来的读者会很有用。向上投票。你真的应该使用而不是{!!with new App\Extend\CustomPaginationLinks$products->render!!}很高兴这有帮助,Evan。谢谢你的代码示例,我认为它对未来的读者会很有用。向上投票。你真的应该使用而不是{!!with new App\Extend\CustomPaginationLinks$products->render!!}如果你问我的话,这更简单!允许我使用内置类等,我们唯一要做的就是发布我们已经做过的,用于不相关的更改。非常感谢你!顺便说一句:对我来说,默认文件是default.blade.php,但我们使用的是Laravel6,所以这可能就是原因。如果你问我,这更容易!允许我使用内置类等,我们唯一要做的就是发布我们已经做过的,用于不相关的更改。非常感谢你!顺便说一句:对我来说,默认文件是default.blade.php,但我们使用的是Laravel6,这可能就是原因。
php artisan vendor:publish --tag=laravel-pagination