Метод onEachSide
Метод onEachSide применяется к объекту пагинации
LengthAwarePaginator и позволяет настроить количество
ссылок на страницы, которые будут отображаться слева и справа
от текущей страницы в постраничной навигации. Метод принимает
один параметр - целое число, определяющее количество элементов
пагинации с каждой стороны от активной страницы. По умолчанию
используется значение 3.
Синтаксис
<?php
$paginator->onEachSide($count);
?>
Пример
Давайте создадим пагинацию с отображением по 2 ссылки
с каждой стороны от текущей страницы:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
use IlluminateHttpRequest;
class ArticleController extends Controller
{
public function index()
{
$articles = Article::paginate(10);
$articles->onEachSide(2);
return view('articles.index', ['articles' => $articles]);
}
}
?>
Пример
Пример использования метода onEachSide в цепочке
с другими методами пагинации:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
use IlluminateHttpRequest;
class ArticleController extends Controller
{
public function index()
{
$articles = Article::where('status', 'published')
->orderBy('created_at', 'desc')
->paginate(15)
->onEachSide(1)
->withQueryString();
return view('articles.index', ['articles' => $articles]);
}
}
?>
Пример
Использование метода в представлении Blade для отображения пагинации с настройкой количества ссылок:
@if ($articles->hasPages())
<div class="pagination">
{{ $articles->onEachSide(3)->links() }}
</div>
@endif
Результат выполнения кода:
<div class="pagination">
<nav>
<ul class="pagination">
<li class="page-item">
<a class="page-link" href="?page=1">1</a>
</li>
<li class="page-item">
<a class="page-link" href="?page=2">2</a>
</li>
<li class="page-item">
<a class="page-link" href="?page=3">3</a>
</li>
<li class="page-item active">
<span class="page-link">4</span>
</li>
<li class="page-item">
<a class="page-link" href="?page=5">5</a>
</li>
<li class="page-item">
<a class="page-link" href="?page=6">6</a>
</li>
<li class="page-item">
<a class="page-link" href="?page=7">7</a>
</li>
</ul>
</nav>
</div>
Смотрите также
-
метод
links,
который генерирует HTML-код ссылок пагинации -
метод
withQueryString,
который сохраняет параметры запроса в ссылках пагинации -
метод
hasPages,
который проверяет наличие нескольких страниц -
метод
currentPage,
который возвращает номер текущей страницы