Теги: БазаДанных
16.11.2020
Поскольку у нас теперь товары имеют атрибуты new, hit и sale, мы можем их отбирать по этим атрибутам. Другими словами — реализовать фильтр товаров. Давайте создадим шаблон filter.blade.php в директрии views/catalog/part и подключим его в шаблоне views/catalog/category.blade.php.
09.11.2020
На главной странице сайта будем показывать новинки, лидеров продаж и товары распродажи. Для этого нам надо добавить в таблицу базы данных products три новых поля — new, hit и sale. Тогда для главной страницы сможем отобрать и показать три коллекции. Потребуется добавить на форму для редактирования товара три checkbox-а.
04.11.2020
Фреймворк Laravel имеет в своём арсенале много полезных функций, и одна из них — привязка модели к маршруту (Route Model Binding). Привязка модели к маршруту — это механизм внедрения экземпляра модели по ключу маршрута. Звучит сложно, но на самом деле все просто. Мы уже использовали привязку в панели управления много раз.
02.11.2020
Нехорошо заставлять постоянного покупателя, который зарегистрирован на сайте, вводить одинаковые данные при каждом оформлении заказа. Давайте добавим возможность создания профилей в личном кабинете. Профиль содержит все данные, которые необходимы, чтобы оформить заказ в магазине, то есть ФИО, адрес почты, телефон, адрес доставки.
31.10.2020
Давайте создадим контроллер для показа страницы сайта в публичной части. У этого контроллера будет только одно действие, а следовательно — только один метод. Создать заготовку такого контроллера можно с помощью artisan-команды. Добавим маршрут в файл routes/web.php и создадим шаблон page/show.blade.php.
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.