Поиск по блогу
10.09.2019
Сейчас для действия index контроллера ProductController показывается список всех товаров каталога. Найти в этом длинном списке нужный товар, чтобы его отредактировать, довольно проблематично. Давайте на страницу списка всех категорий добавим еще одну ссылку, которая позволит просмотреть список товаров каждой категории.
08.09.2019
Продолжим работу по приведению в порядок кода, который для нас сформировал Gii. В первую очередь займемся созданием выпадающего списка для выбора родителя при создании и редактировании категории или товара. Для этого добавим в класс модели Category два метода, которые будут возвращать список всех категорий в упорядоченном виде.
19.08.2019
Хорошо, с публичной частью сайта мы закончили, теперь займемся панелью управления. Для этого создадим модуль с помощью генератора кода Gii. Модуль можно рассматривать как миниатюрное приложение, состоящие из моделей, представлений, контроллеров и других вспомогательных компонентов.
28.07.2019
Итак, корзина готова, можно приступать к оформлению заказа. Для хранения заказов создадим две таблицы в базе данных. Одну — для хранения всех заказов в магазине, другую — для хранения состава каждого заказа. Для каждой таблицы создадим модель, добавим класс контроллера с единственным действием и представление для действия.
13.07.2019
Ну вот, добрались и до корзины. Перед тем, как писать код — несколько слов о том, что будем делать. Для начала создадим форму для добавления товара в корзину на страницах списка товаров категории. Контроллер будет принимать POST-данные и обращаться к модели, чтобы добавить товар в корзину. Саму корзину будем хранить в сессии.
06.07.2019
У нашего поиска есть серьезная проблема — окончания слов. Например, в каталоге есть товар «Мужские зимние ботинки», а пользователь ищет «зимняя обувь». Этот товар не попадет в результаты поиска, потому что нет точного совпадения: в поисковом запросе используется слово «зимняя», а названии товара используется слово «зимние».
05.07.2019
Какой каталог товаров без поиска? Тем более, что и форма в шаблоне предусмотрена. Давайте для начала реализуем самый простой вариант с использованием LIKE. А потом немного усложним — добавим в SQL-запрос расчет релевантности и выполним редирект после отправки формы — чтобы сформировать краcивые URL.
03.07.2019
После установки Yii2 уже имеется файл view-шаблона views/site/error.php. Чтобы получить свою страницу ошибки, можно просто отредактировать этот файл. В нём доступны три переменные: $name, $message, $exception. Признак ошибки 404 — это значение свойства statusCode объекта $exception.
12.06.2019
Следующий этап — создаем модель, контроллер и представление для показа страницы товара. Для снижения нагрузки полученные от модели данные кешируем в контроллере. Заодно добавим хлебные крошки для страницы товара и для раздела каталога. Для этого создадим виджет ChainWidget и будем вызывать его в view-шаблонах товара и категории.
03.06.2019
Некий промежуточный итог — здесь все, что было сделано на текущий момент. Исправлены ошибки, допущенные ранее. Добавлены новые поля в таблицы базы данных. Переписаны некоторые фрагменты кода, которые оказались неудачными. Добавлено кеширование тяжелых фрагментов кода, связанных с выборкой данных из БД.