Для изменения установить свойства $sortBy и $sortDirection в компоненте.
app/Http/Livewire/Admin/News/NewsList.php
<?php
namespace App\Http\Livewire\Admin\News;
use WebVovan\RockCms\Http\Livewire\ResourceListComponent;
class NewsList extends ResourceListComponent
{
// Поле для сортировки
public string $sortBy = 'title';
// Направление сортировки
public string $sortDirection = 'acs';
...
}
Количество ресурсов на странице
По умолчанию выводится 10 ресурсов на странице.
Для изменения установите свойство $perPage.
app/Http/Livewire/Admin/News/NewsList.php
<?php
namespace App\Http\Livewire\Admin\News;
use WebVovan\RockCms\Http\Livewire\ResourceListComponent;
class NewsList extends ResourceListComponent
{
// Количество ресурсов на странице [5, 10, 15]
public int $perPage = 10;
...
}
Пользовательские обработчики сортировки
Для настройки собственных обработчиков для сортировки полей используйте метод setSortHandlers().
Это может быть полезно если, к примеру, сайт мультиязычный и все переводы модели хранятся в отдельной таблице (как это реализовано в пакете astrotomic/laravel-translatable). В таком случае не получится просто отсортировать ресурсы по полю title и нужно будет использовать метод сортировки от создателей пакета.
app/Http/Livewire/Admin/News/NewsList.php
<?php
namespace App\Http\Livewire\Admin\News;
use WebVovan\RockCms\Http\Livewire\ResourceListComponent;
class NewsList extends ResourceListComponent
{
...
/**
* Установка обработчиков для сортировки
*
* @return array
*/
public function setSortHandlers(): array
{
return [
'title' => fn($builder, string $sortBy, string $sortDirection) => $builder->orderByTranslation($sortBy, $sortDirection),
];
}
...
}
Пользовательские обработчики поиска
Если в свойстве $search указаны поля, которые загружаются через отношения, то для поиска по ним нужно добавить собственные функции в методе setSearchHandlers().