Pagination Laravel 5自定义分页
我通过扩展BootstrapThreePresenter创建了FoundationFivePresenter,只需更改getDisabledTextWrapper和getActivePageWrapper,并将其放置在/app/Pagination中Pagination Laravel 5自定义分页,pagination,laravel-5,laravel-5.1,Pagination,Laravel 5,Laravel 5.1,我通过扩展BootstrapThreePresenter创建了FoundationFivePresenter,只需更改getDisabledTextWrapper和getActivePageWrapper,并将其放置在/app/Pagination中 namespace App\Pagination; use Illuminate\Pagination\BootstrapThreePresenter; class FoundationFivePresenter extends Bootstra
namespace App\Pagination;
use Illuminate\Pagination\BootstrapThreePresenter;
class FoundationFivePresenter extends BootstrapThreePresenter
{
/**
* Get HTML wrapper for disabled text.
*
* @param string $text
* @return string
*/
protected function getDisabledTextWrapper($text)
{
return '<li class="unavailable"><span>'.$text.'</span></li>';
}
/**
* Get HTML wrapper for active text.
*
* @param string $text
* @return string
*/
protected function getActivePageWrapper($text)
{
return '<li class="current"><span>'.$text.'</span></li>';
}
}
但我不想实例化我的演示者并将其传递给视图中的渲染。因此,我研究了LengthAwarePaginator,因为在我的控制器中,我调用User::paginate(15),而不是使用SimplePaginator,设置$presenterResolver的唯一其他方法似乎是扩展LengthAwarePaginator,并在render中将其设置为默认为FoundationFivePresenter的新实例,或者以某种方式实例化LengthAwarePaginator并调用presenter传递我的presenter的新实例,这看起来更麻烦
在Laravel 5.1中,有没有一种更简单的方法可以使用自定义分页器,而不需要在视图中传递实例?为了以防万一,我检查了配置文件。这是Laravel 5.8关于如何扩展核心分页的帖子:这是Laravel 5.8关于如何扩展核心分页的帖子:
public function render(Presenter $presenter = null)
{
if (is_null($presenter) && static::$presenterResolver) {
$presenter = call_user_func(static::$presenterResolver, $this);
}
$presenter = $presenter ?: new BootstrapThreePresenter($this);
return $presenter->render();
}