Теги: КаталогТоваров
28.08.2019
Чтобы создать модель для работы с заказами в админке — используем генератор кода Gii. Переходим по ссылке «Model Generator», задаем имя таблицы БД, имя класса модели и пространство имен. Далее используем «CRUD Generator», который создаст нам контроллер и view-шаблоны. И мы получим готовой код для просмотра и редактирования заказов.
19.08.2019
Хорошо, с публичной частью сайта мы закончили, теперь займемся панелью управления. Для этого создадим модуль с помощью генератора кода Gii. Модуль можно рассматривать как миниатюрное приложение, состоящие из моделей, представлений, контроллеров и других вспомогательных компонентов.
17.08.2019
Осталось только отправить письмо покупателю о заказе. Для отправки почты Yii2 предлагает расширение swiftmailer, которое нужно просто настроить. Настраивается оно в файле config/web.php. Обратите внимание на настройку useFileTransport: когда она имеет значение true — письмо не отправляется реально, что нам и нужно.
07.08.2019
Хорошо, форма для оформления заказа готова, правила для валидации полей заказа заданы. Осталось только сохранить в таблицу БД order введенные пользователем данные. Поскольку у нас поля created и updated должны сохранять текущую дату и время, добавим метод behaviors() для класса Order.
28.07.2019
Итак, корзина готова, можно приступать к оформлению заказа. Для хранения заказов создадим две таблицы в базе данных. Одну — для хранения всех заказов в магазине, другую — для хранения состава каждого заказа. Для каждой таблицы создадим модель, добавим класс контроллера с единственным действием и представление для действия.
20.07.2019
Наша корзина сейчас довольно примитивная — не хватает возможности удалить товар и обновить содержимое. Давайте это исправим и начнем с обновления view-шаблонов страницы корзины и содержимого модального окна. Добавим ссылки для удаления товаров из корзины и форму — чтобы можно было изменить количество.
14.07.2019
Теперь надо изменить форму добавления в корзину на странице товара. Но вот что плохо — после добавления товара в корзину происходит редирект на страницу корзины. Это не очень удобно, поэтому будем отправлять POST-запрос с использованием AJAX. И после добавления в корзину будем показывать модальное окно с содержимым корзины.
13.07.2019
Ну вот, добрались и до корзины. Перед тем, как писать код — несколько слов о том, что будем делать. Для начала создадим форму для добавления товара в корзину на страницах списка товаров категории. Контроллер будет принимать POST-данные и обращаться к модели, чтобы добавить товар в корзину. Саму корзину будем хранить в сессии.
06.07.2019
У нашего поиска есть серьезная проблема — окончания слов. Например, в каталоге есть товар «Мужские зимние ботинки», а пользователь ищет «зимняя обувь». Этот товар не попадет в результаты поиска, потому что нет точного совпадения: в поисковом запросе используется слово «зимняя», а названии товара используется слово «зимние».
05.07.2019
Какой каталог товаров без поиска? Тем более, что и форма в шаблоне предусмотрена. Давайте для начала реализуем самый простой вариант с использованием LIKE. А потом немного усложним — добавим в SQL-запрос расчет релевантности и выполним редирект после отправки формы — чтобы сформировать краcивые URL.