Множественный список цветов

Добрый день!

Подскажите как обращаться к списку кодов цветов опции товара с типом «Множественный список цветов» miniShop2.

При выводе в фильтре mFilter2 (чанк tpl.mFilter2.filter.checkbox ) хотелось бы чтобы рядом с текстовым значением цвета, например «Красный» выводился кружок с HEX кодом цвета.

Код чанка
{var $key = $table ~ $delimeter ~ $filter}
<label for="mse2_{$key}_{$idx}" class="{$disabled}">
    <input type="checkbox" name="{$filter_key}" id="mse2_{$key}_{$idx}" value="{$value}" {$checked} {$disabled}/>
    <span>{$title}</span> <sup>{$num}</sup>
</label>
Заранее благодарен!
Роман Л.
29 октября 2023, 19:13
modx.pro
440
0

Комментарии: 5

Артур Шевченко
29 октября 2023, 19:52
0
Можно посмотреть как он в базе хранится. Или спросить у @Алексей Смирнов
    Роман Л.
    29 октября 2023, 20:08
    0
    Обычный множественный список хранится в виде json
    {"values":["\u041f\u0440\u0438\u0445\u043e\u0436\u0430\u044f","\u0421\u043f\u0430\u043b\u044c\u043d\u044f","\u0413\u0430\u0440\u0434\u0435\u0440\u043e\u0431\u043d\u0430\u044f \u043a\u043e\u043c\u043d\u0430\u0442\u0430"]}

    Множественный список цветов так:
    {"values":[{"name":"\u0411\u0435\u043b\u044b\u0439","value":"#eee"},{"name":"\u0427\u0451\u0440\u043d\u044b\u0439","value":"#000"},{"name":"\u0421\u0435\u0440\u044b\u0439","value":"#999"},{"name":"\u041a\u0440\u0435\u043c\u043e\u0432\u044b\u0439","value":"#e8deb0"}]}
    При выводе в чанке в {$value} попадает только 1 поле (name)
      Артур Шевченко
      29 октября 2023, 20:16
      0
      А, погоди, тебе в фильтрах же надо, тут есть фундаментальная проблема: в значения фильтров попадает название цвета, т.е. тебе нужно получить список названий со списком значений и из этого массива по названию получать значения.
        Роман Л.
        29 октября 2023, 22:55
        0
        Да в фильтрах.
        Просто думал раз опцию с таким типом добавили в miniShop2, то и обращаться к данным этой опции как то попроще получится, без лишних запросов в базу.
          Артур Шевченко
          29 октября 2023, 23:42
          0
          Во-первых, minishop2 и msearch2 это разные компоненты и у них разные разработчики. Во-вторых, запрос нужен всего один — получить ассоциативный массив и записать его в плейсхолдер, если конечно ты используешь Fenom
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    5