Поиск по блогу
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
Некий промежуточный итог — здесь все, что было сделано на текущий момент. Исправлены ошибки, допущенные ранее. Добавлены новые поля в таблицы базы данных. Переписаны некоторые фрагменты кода, которые оказались неудачными. Добавлено кеширование тяжелых фрагментов кода, связанных с выборкой данных из БД.
27.05.2019
Мы добавили мета-теги и постраничную навигацию для страниц категорий. Теперь сделаем это для страниц брендов. Пагинация для товаров бренда мало чем отличается от пагинации для товаров категории. В таблице brand базы данных предусмотрены поля keywords и description, которые заполняются при создании бренда.
15.05.2019
Сейчас на странице категории показываются все товары этой категории и всех ее потомков. Это подходит для небольшого каталога, но когда товаров много, страница будет очень большой. Давайте добавим постраничную навигацию и используем для этого класс Pagination.
12.05.2019
Давайте немного подумаем о SEO-оптимизации и установим для страниц нашего сайта мета-теги. Мета-теги влияют на то, как отображатся и какую позицию занимает страница сайта в поисковой выдаче Yandex и Google. При прочих равных условиях поисковики отдают предпочтение сайту с грамотно сформированными мета-тегами.
10.05.2019
Следующий шаг — вывести список товаров отдельного бренда. И создать страницу всех брендов. Методы в модели для получения списка товаров бренда и получения списка всех брендов у нас уже есть. Методы actionBrands и actionBrand в контроллере тоже определены. Осталось только создать файлы view-шаблонов brand.php и brands.php.
08.05.2019
Итак, мы вывели на главной странице список лидеров продаж. Теперь покажем список товаров выбранной категории. Нам нужно добавить в модель два метода: один — для получения информации о категории и второй — для получения списка товаров. Или, сделать еще проще — добавить только первый метод, а потом использовать…