С помощью настройки списка полей можно легко отобразить элементы списка в модели на странице списка. Вот пример конфигурации:
public static $listField = [
// pid — это имя поля списка (не обязательно должно совпадать с именем поля базы данных модели, достаточно того, чтобы данные интерфейса списка содержали это поле):
'pid' => ['title' => 'ID родителя', 'width' => 80],
'entityName' => ['title' => 'Модель', 'width' => 100],
'userName' => ['title' => 'Имя пользователя', 'width' => 100],
'content' => ['title' => 'Содержание', 'width' => 400],
'reply_count' => ['title' => 'Количество ответов', 'width' => 80, 'sort' => true],
'like' => ['title' => 'Нравится', 'width' => 80, 'sort' => true],
'dislike' => ['title' => 'Не нравится', 'width' => 80, 'sort' => true]
];
Используя настройку списка операций, можно легко добавить пользовательские ссылки в операционную колонку на странице списка модели. Вот пример конфигурации:
public static $actionField = [
// chapterUrl — это имя поля (необязательно должно совпадать с полем базы данных модели, достаточно того, что данные интерфейса списка содержат это поле)
'chapterUrl' => ['title' => 'Глава', 'description' => 'Все главы текущего романа']
];
Настраивая поля сортировки, вы можете легко настроить правила сортировки данных на странице списка моделей. Вот пример конфигурации:
public static $sortFields = [
// Массив ключей представляет собой имена полей сортировки и конфигурацию по возрастанию/убыванию, разделённые запятыми, а значения представляют собой названия, отображаемые на переднем плане
'updated_at,desc' => 'Время обновления (по убыванию)',
'id,asc' => 'id (по возрастанию)'
];
Настройка кнопок позволяет легко добавлять кнопки действий на страницу списка моделей. Вот пример конфигурации:
public static $btnField = [
[
'title' => 'Google',
'description' => 'Поисковая система',
'url' => 'https://www.google.com',
'target' => '_blank',
'class' => ''
]
];
Совет: если вы создаёте собственную модель, рекомендуется создать модель, унаследованную от
App\Model\Admin\Model
, чтобы упростить настройку этих параметров.
Настроив определённые события, можно легко настроить различные эффекты отображения.
LightCMS включает в себя простую систему журналов, которая по умолчанию регистрирует все операции, связанные с бэкэндом. Вы можете обратиться к промежуточному программному обеспечению Log
для реализации.
Вы можете использовать функцию планирования Laravel
для автоматической очистки системных журналов. Чтобы включить планирование задач, добавьте следующее содержимое в системный планировщик:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Вы также можете настроить log_async_write
, чтобы определить, следует ли включать асинхронную запись журнала (по умолчанию отключена). Для асинхронной записи журнала необходимо запустить обработчик очереди Laravel
:
php artisan queue:work
Для обычной модели административный интерфейс обычно требует функций добавления, удаления, изменения и запроса, связанных с бизнесом. LightCMS имеет возможность генерировать соответствующий код одним щелчком мыши. После создания структуры таблицы базы данных для модели вы можете использовать следующую команду artisan
для генерации соответствующего кода:
# config — это название модели, а конфигурация — китайское название модели
php artisan light:basic config конфигурация
После успешного выполнения будут созданы следующие файлы (обратите внимание, что соответствующие каталоги должны иметь права на запись):
routes/auto/
;list
, который возвращает данные списка. Следует отметить, что если данные в списке не могут быть напрямую сопоставлены с данными поля базы данных, вы можете преобразовать данные поля базы данных соответствующим образом в методе transform
метода list
;$formNames
, используемый для настройки белого списка полей запроса формы добавления/редактирования. Этот атрибут должен быть настроен, иначе данные формы не будут получены;Наконец, если вы хотите, чтобы сгенерированный маршрут отображался в меню, просто нажмите «обновить меню автоматически» на странице меню управления.
Если вам нужно проверить содержание (статьи, комментарии и т. д.) на предмет чувствительного содержания, вы можете напрямую вызвать функцию checkSensitiveWords
в LightCMS. Пример следующий:
$result = checkSensitiveWords('Продажа настоящего оружия');
print_r($result);
/*
[
"Оружие",
"Настоящее оружие"
]
*/
По умолчанию изображения в LightCMS загружаются на локальный сервер. Если у вас есть особые требования, такие как загрузка на сторонний облачный сервер, вы можете обратиться к разделу конфигурации image_upload
в файле конфигурации config/light.php
. Пользовательский класс обработки должен реализовывать интерфейс App\Contracts\ImageUpload
, а возвращаемое значение метода должно соответствовать структуре данных системного метода.
{
"code": 200,
"state": "SUCCESS",
"msg": "",
"url": "xxx"
}
``` **Эта структура данных в основном содержит всю структурированную информацию о классификации.** Значение соответствующих полей также довольно ясно, здесь мы объясним только поле «path»: это поле указывает на все родительские категории текущей категории, что позволяет легко узнать все категории-предки для конкретной категории. Например, в графе значение поля «path» для категории «test» равно [1, 2], поэтому легко понять, что его родительские категории — «игры» и «стрелялки».
***
**Исключение: App\Exceptions\InvalidAppDataException**
Сценарий использования: при возникновении этого исключения в приложении, фреймворк автоматически переходит на страницу с предупреждением, которое содержит пользовательское сообщение об исключении. Обычно используется для отображения ошибок во время работы приложения.
***
В классе **App\Repository\Admin\CategoryRepository** есть методы, связанные с операциями над категориями:
/**
/**
/**
## Фронтенд
### Регистрация и вход пользователя
LightCMS интегрирует простую систему регистрации и входа пользователей, поддерживающую трёхсторонний вход через WeChat, QQ и Weibo. Конфигурацию для трёхстороннего входа можно найти в файле config/light.php.
## Примечание
Если у вас есть вопросы, вы можете создать issue. Если вы хотите внести свой вклад в проект, предоставив код, вы можете сделать pull request.
## Проект поддерживается JetBrains
Большое спасибо компании Jetbrains за предоставление лицензии, которая позволяет мне работать над этим и другими проектами с открытым исходным кодом.
[](https://www.jetbrains.com/?from=https://github.com/eddy8)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )