ms3OptionsColor

Цвета опций MiniShop3: код, RAL, паттерны
Автор дополнения
Иван Бочкарев
Пакетов
34
Закачек
249
Обычно отвечает в течение суток
Автор дополнения
Пакетов
34
Закачек
249
Обычно отвечает в течение суток
Версия 1.0.0-beta1
Дата выпуска 10.08.2026
Загрузки 0
Просмотры 170
Внимание, этот компонент требует PHP 8.2 или выше!
Внимание, этот компонент требует MODX 3 или выше.
ms3OptionsColor для MODX Revolution 3.x и MiniShop3. Цвета опций каталога: код цвета, паттерн, палитра RAL. Один справочник на значение опции во всём магазине.

Документация: docs.modx.pro → ms3OptionsColor. Сценарии: пошаговые сценарии.

Справочник цветов и RAL
  • раздел Компоненты → ms3OptionsColor: поиск, фильтр «Задан» / «Не задан»
  • код цвета, номер RAL или картинка-паттерн
  • встроенная палитра RAL (213 цветов)











Карточка товара
  • вкладка Swatches на товаре MiniShop3
  • свотч в чипах опции (connector /map)




Витрина
  • сниппет ms3OptionsColor, Fenom-чанки, @FILE
  • авто-CSS (ms3optionscolor_frontend_css)
  • select со свотчем: Select2 или native=1
  • byOptions, return=data
  • data-атрибуты: data-ms3oc-swatch, data-ms3oc-select









mFilter
  • тип ms3oc на OnMFilterInit
  • встроенный тип colors не меняется
  • чанк tplMFilterMs3OptionsColor



Варианты ms3variants
  • к готовым вариантам товара добавляются цвета из справочника
  • цена, остаток и ID варианта остаются у ms3variants
  • отключается настройкой ms3optionscolor_variants_decorate



Настройки
  • ms3optionscolor_default_option_key — ключ(и) опции (CSV)
  • ms3optionscolor_ral_enabled — вкладки и поиск RAL
  • ms3optionscolor_frontend_css — автоподключение CSS витрины
  • ms3optionscolor_variants_decorate — цвета в variants

Требования
  • MODX ≥ 3.0.3, PHP ≥ 8.2
  • MiniShop3 (MS3 Router), VueTools ≥ 1.1.2-pl, pdoTools
  • mFilter и ms3variants опциональны

Права

Отдельных ACL-ключей нет. Mgr API: контекст mgr и msproduct_save.



Документация

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.0-beta1] - 2026-08-08

Added

  • Global option swatch dictionary (option_key + value): HEX, pattern URL, image, RAL.
  • MiniShop3 product tab Swatches and manager CMP (dictionary + RAL Classic).
  • RAL Classic reference seed (213 colors).
  • Optional mFilter type ms3oc (built-in colors untouched).
  • Snippet ms3OptionsColor and chunks for storefront / select / mFilter / cart.
  • Soft decorate row.variants[].swatches when ms3variants is present.
  • Auto frontend CSS via OnLoadWebDocument (ms3optionscolor_frontend_css).
  • System settings: ms3optionscolor_default_option_key (CSV), ms3optionscolor_ral_enabled, ms3optionscolor_frontend_css, ms3optionscolor_variants_decorate.
  • Transport resolvers: DB tables + RAL seed, MiniShop3 manager route.
  • Build: optional modstore.pro transport encryption (EncryptedVehicle, resolve.encryption.php) — same pattern as msp3YooKassa; enable with encrypt => true in _build/config.inc.php.

Fixed

  • Manager option chips load /map via MiniShop3 connector (direct /api/mgr/… 404 on many hosts).
  • Vue lexicon keys keep ms3optionscolor_* prefix (lexicon->fetch(..., false)).
  • Setting key mismatch: runtime reads underscore keys; dotted keys remain legacy fallback only.
  • Pattern paths keep /assets/ during repeated normalization; external HTTPS and CDN URLs keep their origin.
  • Editing HEX or switching to pattern clears stale RAL metadata.
  • Regular cart rows show the color selector even when options.color is empty; internal QA text is no longer rendered.
  • RAL upsert updates by id when present and rejects code collisions; manager RAL table uses lazy pagination.
  • Snippet empty &options falls back to ms3optionscolor_default_option_key; inactive swatches stay out of storefront /map.
  • Product option chips refresh after dictionary CRUD (ms3ocInvalidateSwatchMap resets ready markers).
  • Transport requires VueTools ≥ 1.1.2; ms3ocColorBeforeSave runs after fromArray.

Последние обсуждения в сообществе MODX.pro