Хотя это недокументировано, это, безусловно, возможно. Это почти то же самое, что и для Laravel 4. В основном все, что вам нужно, это создать пользовательский презентатор и обернуть экземпляр paginator.
Вот как ведущий может выглядеть следующим образом:
use Illuminate\Contracts\Pagination\Paginator;
use Illuminate\Contracts\Pagination\Presenter;
use Illuminate\Pagination\BootstrapThreeNextPreviousButtonRendererTrait;
use Illuminate\Pagination\UrlWindow;
use Illuminate\Pagination\UrlWindowPresenterTrait;
class CustomPresenter implements Presenter
{
use BootstrapThreeNextPreviousButtonRendererTrait, UrlWindowPresenterTrait;
private $paginator;
private $window;
public function __construct(Paginator $paginator, UrlWindow $window = null)
{
$this->paginator = $paginator;
$this->window = is_null($window) ? UrlWindow::make($paginator) : $window->get();
}
public function render()
{
if ($this->hasPages()) {
return sprintf(
'<ul class="pagination">%s %s %s</ul>',
$this->getPreviousButton("Previous"),
$this->getLinks(),
$this->getNextButton("Next")
);
}
return null;
}
public function hasPages()
{
return $this->paginator->hasPages() && count($this->paginator->items() !== 0);
}
protected function getDisabledTextWrapper($text)
{
return '<li class="disabled"><span>'.$text.'</span></li>';
}
protected function getActivePageWrapper($text)
{
return '<li class="active"><span>'.$text.'</span></li>';
}
protected function getDots()
{
return $this->getDisabledTextWrapper("...");
}
protected function currentPage()
{
return $this->paginator->currentPage();
}
protected function lastPage()
{
return $this->paginator->lastPage();
}
protected function getAvailablePageWrapper($url, $page, $rel = null)
{
$rel = is_null($rel) ? '' : ' rel="'.$rel.'"';
return '<li><a href="'.htmlentities($url).'"'.$rel.'>'.$page.'</a></li>';
}
}
Тогда из контроллера:
public function index()
{
$users = User::paginate(5);
$presenter = new CustomPresenter($users);
return view("home.index")->with(compact('users', 'presenter'));
}
Вид:
@foreach ($users as $user)
<div>{{ $user->email }}</div>
@endforeach
{!! $presenter->render() !!}
Я не могу сказать, если [второй ответ на вопрос SO] (http://stackoverflow.com/questions/26148645/laravel-show-only-next-and-previous-link-in-pagination) может помочь, он упоминает o верстка текста по умолчанию предыдущих/следующих ссылок с пользовательским текстом. – SaschaM78
Да выглядит близко - но я думаю, что это для L4. Не вижу ничего подобного для L5. – mattl