Состав платформы

Тема магазина Unify

Тема оформления интернет-магазина.

Другие решения раздела «Состав платформы»

Установка

Подключите пакет в корне проекта на SkeekS Платформе, затем примените миграции проекта.

composer require skeeks/theme-unify-shop

Зависимости

Инструкция из репозитория

Theme unify shop for skeeks cms project

Latest Stable Version Total Downloads

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist skeeks/theme-unify-shop "^0.0.1"

or add

"skeeks/theme-unify-shop": "^0.0.1"

How to use

How to use for SkeekS CMS

Links


skeeks!
SkeekS CMS (Yii2) — fast, simple, effective!
skeeks.com | cms.skeeks.com

README на GitHub

Поддержка

Вопросы по установке и работе решения можно задать командой SkeekS или завести обращение в репозитории.

Обновления

v2.2.1.15

Страница 404 магазина теперь не тупик, а короткая навигация, которая возвращает посетителя в каталог.

  • Навигация на 404. Заголовок «Страница не найдена», короткое пояснение, кнопка «Перейти в каталог» и кнопки основных разделов каталога. Каталог определяется так же, как в меню, — главный раздел каталога магазина. Ниже ссылка на контакты и кликабельный телефон сайта.
  • Разделы без мусора. Разделы, которые ведут на произвольную ссылку (прайсы, внешние сайты), в навигацию не попадают. Если у сайта нет каталога, выводятся разделы первого уровня, как в верхнем меню.
  • SEO. Ответ остаётся с кодом 404, без редиректа на главную и без canonical; добавлен meta robots «noindex, follow».
  • Надёжность. Если навигацию построить не удалось, страница ошибки всё равно выводится. Остальные ошибки (403, 500 и др.) показываются прежним шаблоном cms.
v2.2.1.9

Доработки шаблона каталога catalogs/no-col.php.

  • Бренд и страна в строке фильтров. Добавлен шаблон filters/shop-data-filters-inline.php. На десктопе фильтры «Бренд» и «Страна» выводятся выпадающими кнопками с поиском и чекбоксами, как характеристики товара. Раньше они рисовались широкими полями и ломали вёрстку каталога.
  • Страница сохранённого фильтра по бренду или стране. Блок «Другие товары с опцией» теперь подбирает похожие фильтры по бренду и стране. Раньше для таких фильтров он выводил все сохранённые фильтры сайта.
  • Залипание фильтров при прокрутке. Вместо плагина hs-sticky-block используется CSS position: sticky. У блока белый фон и лёгкая тень, а отступ сверху следует за фактическим низом шапки, которая при прокрутке меняет высоту. Товары больше не просвечивают сквозь фильтры, и фильтры не уезжают под шапку.
v2.2.1.8

Исправлена ошибка «Attempt to read property "name" on null» в шаблоне каталога catalogs/no-col.php.

Сохранённые фильтры по бренду или стране не привязаны к характеристике (cms_content_property_id пустой), и страница раздела падала при выводе блока «Быстрый подбор товаров». Группировка фильтров теперь идёт через CmsSavedFilter::formatFilters(), как в шаблоне left-col.php: фильтры по брендам и странам выводятся отдельными группами «Бренд» и «Страна».

v2.2.1.7

Полная страница поиска использует ту же логику, что и подсказки: исходное написание и транслитерация, разделы, подборки, бренды, коллекции и товары. Группы загружаются по 8, товары — порциями штатного каталога по кнопке «Показать ещё».

Сохранены стандартные товарные карточки, цены, корзина и избранное. Проверены соседние и последняя порции, отсутствие дублей, Enter, кнопка поиска и мобильная раскладка.

Для нового поиска нужен skeeks/cms-search 3.0.1.9; для подсказок в шапке — skeeks/cms-theme-unify-v2 2.2.2.3. Без нового cms-search сохранён прежний поисковый запрос. Миграций БД нет.

v2.2.1.6

Главная получает shopContents один раз и использует результат для проверки наличия товаров и настройки обоих товарных блоков. Глобальный getter не мемоизируется.

На plitka-lab.ru число запросов товарного контента на главной снизилось с трёх до одного. Проверен синтаксис PHP и ответ HTTP 200. Вместе с кешем домена из cms 6.4.9.29 число SQL главной снизилось с 65 до 61 на прогретом кеше.

v2.2.1.5

Оба блока коллекций главной кешируются на 8 часов с зависимостью от тега сайта, как гребёнка брендов. Кнопка очистки кеша сайта сбрасывает этот кеш. Сохранение коллекции само по себе не инвалидирует фрагмент: изменения видны после ручной очистки или истечения срока.

CSS и ассеты регистрируются вне кеша. Ключ разделяет сайт, язык, адрес, пагинацию и параметры отображения карточек.

В трёх вариантах карточки товара характеристики форматируются один раз для проверки и вывода. Единицы пересчёта количества загружаются одним запросом на отображаемый блок; самостоятельные шаблоны характеристик сохраняют прежнее поведение.

Проверено на plitka-lab.ru: кеш коллекций сократил SQL главной с 84 до 69 на прогретом кеше; характеристики и единицы — товарной с 129 до 123. Это отдельные замеры до исправления правил складов в cms-shop 3.2.7.22.

Пройдены проверки срока и сброса кеша, изоляции вариантов, пустых наборов, регистрации ассетов, эквивалентности разметки и пакетной загрузки единиц на SQLite; синтаксис PHP проверен. Проектные переопределения шаблонов нужно обновлять отдельно.

v2.2.1.4

Главная использует один общий полный COUNT для двух блоков коллекций вместо трёх подсчётов. JOIN для подсчёта товаров больше не загружает неиспользуемые модели товаров. Сохранены обе сортировки, фильтры и пагинация. Проверены настоящий блок главной на SQLite, следующие страницы, пустой набор и PHP lint. Разметка коллекций на plitka-lab.ru не изменилась. Вместе с cms-shop 3.2.7.21 количество SQL главной уменьшилось с 93 до 84; карточка товара сохранила прежнее количество запросов. Разница времени единичных запросов не считается доказанным ускорением.

v2.2.1.3

Сокращены SQL-запросы при выводе коллекций: оба шаблона списков пакетно загружают изображения, стикеры, бренды и страны через ActiveDataProvider.

Сохранены фильтры, сортировка, пагинация, порядок изображений и пустые связи. Общий кеш между запросами не добавлялся.

Проверки: интеграционный тест настоящих шаблонов и Yii ListView на SQLite, PHP lint, сравнение разметки обоих блоков коллекций на plitka-lab.ru. На сопоставимых гостевых запросах главной количество SQL уменьшилось со 137 до 93; разметка коллекций совпала. Разница времени двух запросов не считается доказанным ускорением из-за нестабильного исходного замера.

Проектные переопределения шаблонов коллекций должны отдельно принять предзагрузку связей.

v2.2.1.2

Оптимизирована загрузка данных карточек в каталоге и слайдерах, включая PJAX-догрузку на товарной странице.

  • Добавлена предзагрузка изображений, базовых и остальных цен через связи Yii.
  • Остатки, избранное и сравнение передаются карточкам пакетно через ProductCardData.
  • Устранён отдельный запрос первого товара перед отображением слайдера.
  • Сохранены фильтры, порядок, лимиты, пагинация и отдельное отображение карточек.

Для пакетной загрузки остатков и флагов требуется cms-shop 3.2.7.20 или новее. Со старым cms-shop тема продолжает работать через прежний путь выборок. Проектные переопределения шаблонов нужно адаптировать отдельно, если они заменяют изменённые общие списки.

Проверки: PHP 8.2, реальные Yii ListView и ActiveDataProvider на SQLite, передача viewParams, предзагрузка связей, вторая страница каталога, фильтры, пустые списки и совместимость со старым cms-shop. На работающем магазине проверены ответы страниц, состав карточек и отображаемые цены до и после изменения.

v2.2.1.1

Исправлена строка брендов в шапке: бренды заполняют колонки сверху вниз, устранено горизонтальное переполнение страницы.

v2.2.1
v2.2.0.49
v2.2.0.48
v2.2.0.47
v2.2.0.46
v2.2.0.45
v2.2.0.44
v2.2.0.43
v2.2.0.42
v2.2.0.41
Показать ещё 10 обновлений осталось 351