Пагинация с разметкой Bootstrap 4

На данный момент, по умолчанию в Winter CMS выводится пагинация с разметкой для Bootstrap 3. Если у вас подключен бутстрап 4, то пагинация не будет иметь стилей.

Но дело в том, что внутри Laravel есть пагинация с разметкой для Bootstrap 4 и вопрос лишь в том, как заставить работать именно её.

Вначале я применил такое решение - нашёл файлы с разметкой для пагинации. Вот эти файлы генерирующие пагинацию:

\vendor\laravel\framework\src\Illuminate\Pagination\resources\views\default.blade.php

это разметка пагинации по дефолту. Пагинация с разметкой для бутстрап 4 генерируется в файле:

\vendor\laravel\framework\src\Illuminate\Pagination\resources\views\bootstrap-4.blade.php

Просто скопировал код из файла bootstrap-4.blade.php и вставил его в файл default.blade.php

Пагинация стала для Bootstrap 4 но после обновления ядра Winter CMS, разметка пагинации опять стала для Bootstrap 3.


 

Переопределение пагинации в Winter CMS

Есть простое решение чтобы пагинация не ломалась после каждого обновления ядра. Для этого в файле:

bootstrap\app.php

в конце перед 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);

То получим пагинацию такого вида:

input для ввода номера телефона в бэкенде
input для ввода номера телефона в бэкенде Как в бэкенде Winter CMS сделать поле с маской для ввода номера телефона с помощью javascript библиотеки Inputmask.
Вложенные изображения и их вывод
Вложенные изображения и их вывод Как в Winter CMS к моделям прикрепляются изображения через связи и как затем вывести эти изображения в нужном нам месте с заданными размерами.
Доступ к элементам на фронте только для админов
Доступ к элементам на фронте только для админов Как в Winter CMS сделать доступ к отдельным элементам или фрагментам выводимым на фронтенде только для бэкенд пользователей которые авторизованы в бэкенде.
Комментарии 0

*** чтобы писать комментарии.