Пагинация с разметкой Bootstrap 4
На данный момент, по умолчанию в Winter CMS выводится пагинация с разметкой для Bootstrap 3. Если у вас подключен бутстрап 4, то пагинация не будет иметь стилей.
Но дело в том, что внутри Laravel есть пагинация с разметкой для Bootstrap 4 и вопрос лишь в том, как заставить работать именно её.
Вначале я применил такое решение - нашёл файлы с разметкой для пагинации. Вот эти файлы генерирующие пагинацию:
это разметка пагинации по дефолту. Пагинация с разметкой для бутстрап 4 генерируется в файле:
Просто скопировал код из файла bootstrap-4.blade.php
и вставил его в файл default.blade.php
Пагинация стала для Bootstrap 4 но после обновления ядра Winter CMS, разметка пагинации опять стала для Bootstrap 3.
Переопределение пагинации в Winter CMS
Есть простое решение чтобы пагинация не ломалась после каждого обновления ядра. Для этого в файле:
в конце перед return $app;
нужно дабавить такую строчку:
Illuminate\Pagination\AbstractPaginator::defaultView("pagination::bootstrap-4");
Теперь пагинация будет выводится с разметкой для Bootstrap 4 и не сломается при обновлении CMS.
Пагинация в Winter CMS
Делаем запрос такого вида:
$items = Item::where('category_id', 1)->orderBy('id', 'ask')->paginate(10);
где:
-
where('category_id', 1)
- выбрать все записи принадлежащие некой категории у которой id равно 1 -
orderBy('id', 'ask')
- сортировать записи по id в порядке убывания. Могут быть значенияask
иdesc
-
paginate(10)
- вывод по 10 записей на странице
Теперь в файле htm нашего компонента в нужном месте выводим пагинацию:
{{ items.render|raw }}
В результате получим вот такое:
Ну а если исправим запрос так:
$items = Item::where('category_id', 1)->orderBy('id', 'ask')->simplePaginate(10);
То получим пагинацию такого вида:
*** Войдите чтобы писать комментарии.