Yii2 и Laravel
05.11.2020
Blade — простой, но мощный шаблонизатор, поставляемый с Laravel. В отличие от других популярных шаблонизаторов не ограничивает в использовании чистого php-кода в шаблонах. Все шаблоны Blade компилируются в чистый php-код и кешируются, до того момента, как в них будет внесены изменения.
04.11.2020
Фреймворк Laravel имеет в своём арсенале много полезных функций, и одна из них — привязка модели к маршруту (Route Model Binding). Привязка модели к маршруту — это механизм внедрения экземпляра модели по ключу маршрута. Звучит сложно, но на самом деле все просто. Мы уже использовали привязку в панели управления много раз.
02.11.2020
Нехорошо заставлять постоянного покупателя, который зарегистрирован на сайте, вводить одинаковые данные при каждом оформлении заказа. Давайте добавим возможность создания профилей в личном кабинете. Профиль содержит все данные, которые необходимы, чтобы оформить заказ в магазине, то есть ФИО, адрес почты, телефон, адрес доставки.
31.10.2020
Давайте создадим контроллер для показа страницы сайта в публичной части. У этого контроллера будет только одно действие, а следовательно — только один метод. Создать заготовку такого контроллера можно с помощью artisan-команды. Добавим маршрут в файл routes/web.php и создадим шаблон page/show.blade.php.
29.10.2020
Возможность добавлять и редактировать страницы сайта у нас теперь есть, но не хватает wysiwyg-редактора. Будем использовать summernote — простой, легкий и есть возможность вставлять видео и изображения. Но самое главное — можно навесить свои обработчики событий добавления и удаления изображений.
26.10.2020
Нужно еще предоставить администратору возможность работы с пользователями. Так что организуем просмотр списка и добавим форму для изменения данных пользователя. Страницу просмотра данных пользователя делать не будем, потому как данных-то всего две строки — «Имя, Фамилия» и «Адрес почты».
25.10.2020
Администратор магазина должен иметь возможность просматривать заказы, оформленные в магазине и как-то их обрабатывать. Для начала организуем возможность просмотра списка заказов и отдельного заказа. Обработка заказа подразумевает изменение статуса заказа, так что добавим в таблицу orders поле status.
24.10.2020
С категориями и брендами разобрались, настала очередь товаров каталога. Нам опять нужен ресурсный контроллер, который создадим с помощью artisan-команды. Еще потребуется семь маршртутов, отвечающих за CRUD-операции над товарами и свойство $fillable для модели, поскольку будем использовать «mass assignment».
22.10.2020
Чтобы закончить с брендами, осталось создать два шаблона create.blade.php и edit.blade.php. Поскольку формы для создания и редактирования бренда практически одинаковые — создадим отдельный шаблон form.blade.php — как это делали для категорий. Поскольку мы используем «mass assignment», нужно добавить свойство $fillable в модель Brand.
18.10.2020
Осталась еще одна проблема — нет проверки, что при редактировании категории в качестве родителя не будет выбана эта же категория или один из ее потомков. Здесь простыми правилами валидации не обойтись — потребуется класс, который реализует интерфейс Illuminate\Contracts\Validation\Rule.