SleepingOwl Admin - быстрый старт 🏁

#laravel
SleepingOwl Admin - быстрый старт 🏁

SleepingOwl Admin (SOA) - популярная админ панель на Laravel. В ней есть все, что нужно, и даже больше. Проектирование админ панели для сайта превращается в песню, если знать, как правильно ее готовить. В этой статье мы опишем рабочую методику и рекомендации, как быстро освоиться с этой дивной и удобной библиотекой.

Для начала хочется отметить, что SOA по сути своей является фреймворком для построения интерфейсов. И чтобы успешно это делать, Вам достаточно знать, как быстро в документации найти нужный компонент для вставки в секцию (шаблон страницы). Простота ее использования заключается в том, что достаточно одной строчки кода из документации ( к примеру: AdminFormElement::text("lastname", "Фамилия")) - чтобы в админке появилось поле для редактирования значений Фамилии пользователя из вашей базы данных. Т.е. вам, как разработчику, не придется обрабатывать передачу данных формы, чистить ее, придумывать обработку на пустоту и т.п. - все это делает за вас SOA. Все, что Вам остается, найти нужный кусок кода из документации и сделать страницу в админке юзер-френдли (интуитивно понятной) для наполнителя сайта. Magic!

 

1 Пользуйтесь ресурсами разработчиков SOA

На официальном сайте SOA есть ссылки на все необходимые и достаточные материалы: https://sleepingowladmin.ru/

Это прежде всего:

  1. Документация - SOA не настолько популярна, чтобы пробовать гуглить конкретный вопрос. В документации есть поиск - пользуйтесь им, очень быстро и удобно находится нужный материал
  2. Демо - в любой момент можно ознакомиться с возможностями админ панели
  3. Исходный код демо - по коду для демо вы легко можете найти поиском по проекту в вашей среде разработки (к примеру, PHPStorm, команда Find in path), как именно используется компонент
  4. Телеграм канал - если возникли сложности с внедрением компонента - всегда можно попросить помощи в tg канале (в нем оперативно отвечают и за вопросы не бьют)

Важные разделы на сайте SOA

2 Генерация CRUD для модели

Секция в терминологии SOA - раздел в админке, в котором модератор сайта может просматривать, редактировать, создавать и удалять записи к таблице из БД - все, что нужно для CRUD. Все эти настройки для раздела размещены в одном файле - Секции.

Процесс создания секции описан по ссылке.

Если коротко по шагам на примере модели Manager:

  1. Генерируем через артизан модель Manager, миграцию для создания таблицы и сиддер к ней для заполнения тестовыми данными
  2. Генерируем секцию Managers процессом, указанным выше по ссылке
  3. Корректируем название раздела в админке, иконку и методы onDisplay и onEdit в нашей новой секции Managers
  4. Проверяем, что все работает 😉

3 Подключение своих стилей

Существует несколько вариантов, один из них - подключить в app/Providers/AdminSectionsServiceProvider.php

Изменения файла и код после подключения своих стилей показаны ниже:

use SleepingOwl\Admin\Contracts\Template\MetaInterface;
..
$this->app->call( [ $this, 'registerMediaPackages' ] );
..
/**
* @param MetaInterface $meta
*/
public function registerMediaPackages( MetaInterface $meta ) {
      $meta->addCss('custom', asset('css/admin/custom.css'));
}

добавляем свой css для SOA

Количество просмотров: 685

Поделиться в соцсетях: