Теги: ПанельУправления
22.10.2020
Чтобы закончить с брендами, осталось создать два шаблона create.blade.php и edit.blade.php. Поскольку формы для создания и редактирования бренда практически одинаковые — создадим отдельный шаблон form.blade.php — как это делали для категорий. Поскольку мы используем «mass assignment», нужно добавить свойство $fillable в модель Brand.
18.10.2020
Осталась еще одна проблема — нет проверки, что при редактировании категории в качестве родителя не будет выбана эта же категория или один из ее потомков. Здесь простыми правилами валидации не обойтись — потребуется класс, который реализует интерфейс Illuminate\Contracts\Validation\Rule.
17.10.2020
Теперь можно вернуться к методам store() и update() контроллера и организовать загрузку и дальнейшее хранение изображения для категории каталога. Первым делом выполняем в консоли artisan-команду, которая создаст символическую ссылку. Для начала просто сохраним изображение на диск и запишем имя файла изображения в базу данных.
13.10.2020
Реализуем еще два метода контроллера — create() и edit() — для создания новой категории каталога и для редактирования существующей. И создадим два шаблона в директории views/admin/category — это файлы create.blade.php и edit.blade.php. Пока что получилось не слишком удачно — у нас две почти одинаковые формы в двух шаблонах.
13.10.2020
Теперь поработаем над панелью управления магазином. И начнем с категорий каталога товаров. Нам нужен ресурсный контроллер, т.е. контроллер, который позволяет выполянить CRUD-операции над категориями каталога. Создать такой контроллер можно с помощью artisan-команды.
09.10.2020
Есть еще один момент, о котором забыл упомянуть в предыдущей части. Если аутентифицированный пользователь попробует перейти на страницу регистрации или на страницу восстановления пароля — он будет перенаправлен на страницу /home. Это логично, потому что на странице регистрации или восстановления пароля ему делать нечего.
29.09.2019
При редактировании с помощью WYSIWYG-редактора страницы сайта может возникнуть необходимость загрузки изображений, так что установим файловый менеджер ELFinder. Кроме того, создадим отдельную страницу 404 Not Found для панели управления, потому что сейчас используется страница 404 общедоступной части сайта, что не очень удобно.
18.09.2019
Код для работы со страницами уже работает, но нуждается в некоторой доработке. Нужно предоставить возможность выбора родителя для страницы, прикрутить WYSIWYG-редактор, добавить валидатор для slug, изменить надписи на кнопках и так далее. Все это мы уже делали для товаров, категорий и брендов, так что без подробностей.
17.09.2019
Перед удалением категории нужно выполнить две проверки. Первая — что категория не содержит товары. Вторая — что категория не имеет дочерних категорий. Если хотя бы одно условие ложно, категорию удалять нельзя. Добавим метод beforeDelete() в класс модели Category. И добавим аналогичную проверку перед удалением бренда.
15.09.2019
Страница редактирования записи содержит множество стандартных метабоксов, которые доступны сразу после установки WordPress. Включить и выключить стандартные метабоксы можно наверху страницы редактирования записи, в панели Screen Options (Настройки экрана). Перед тем, как создавать свои метабоксы, посмотрим, как можно удалить лишние.