msProductsComposerSelection

Привязка условий поиска\фильтрации товаров к ресурсу
Автор дополнения
Prihod
Пакетов
38
Закачек
13 265
Обычно отвечает в течение суток
Автор дополнения
Пакетов
38
Закачек
13 265
Обычно отвечает в течение суток
Версия 1.0.20-pl
Дата выпуска 28.05.2025
Загрузки 172
Просмотры 12 936
Внимание, этот компонент несовместим с MODX 3.

Дополнение позволяет сформировать условия для выборки товаров, а также фильтры для mSearch2 и привязать их к ресурсу, после чего использовать в таких сниппетах как msProducts, mSearch2, mFilter2 и прочих, которые в своей работе используют параметр where.


Видео обзор




Видео обзор устарел


Использование


После установки дополнения у всех ресурсов Modx появится вкладка “Условия\фильтры”, где можно сформировать нужные условия и фильтры для выборки товаров.



На странице /manager/?a=system/settings в настройках дополнения через запятую можно указать ID только тех шаблонов, для которых следует выводить вкладку “Условия для выбора товаров”.


В выпадающие списки «Название поля», «Метод фильтрации» и чанки можно вводить свои значения.


Сниппет msPCS


Сниппет msPCS — формирует в нужном формате условия\фильтры для выборки товаров. В зависимости от параметра mode создает следующие плейсхолдеры:

[[+mspcs.where]]
[[+mspcs.option]]
[[+mspcs.tvs]]
[[+mspcs.parents]]

[[+mspcs.filters]]
[[+mspcs.aliases]]
[[+mspcs.sortAliases]]
[[+mspcs.leftJoin]]
[[+mspcs.sort]]
[[+mspcs.tpl]]

[[+mspcs.collapses]] — состояние фильтра (1- свернутый; 0-развернутый)

Пример доступа к состоянию в чанка tpl.mFilter2.filter.outer

{var $key = $table ~ $delimeter ~ $filter}
        <fieldset id="mse2_{$key}" collapsed="{$_modx->getPlaceholder('mspcs.collapses')[$key]}">
            <h4 class="filter_title">{('mse2_filter_' ~ $table ~ '_' ~ $filter) | lexicon}</h4>
            {$rows}
        </fieldset>


Сниппет должен быть вызван до того, как будут использованы плейсхолдеры.


Если задано значения для параметра snippet то никаких плейсхолдеров создано не будет, все значения будут автоматически переданы в сниппет который указан в параметре snippet.


Параметры:

  1. rid — ID ресурса из которого брать условия. Если не указан, используется ID текущего ресурса.
  2. up — Искать условия у родителей если, у текущего ресурса их нет. Может принимать значения 0|1. По умолчанию 0
  3. mode — Тип получаемых данных. 0 — условия для выборки товаров (значение по умолчанию); 1 — фильтры для mSearch2; 2 — условия для выборки товаров и фильтры
  4. snippet — Сниппет, который будет вызываться для вывода результатов работы.


Примеры:

[[msPCS]]
        [[msProducts?
        &includeTVs=`[[+mspcs.tvs]]`
        &optionFilters=`[[+mspcs.option]]`
        &where=`[[+mspcs.where]]`
        ]]

[[!msPCS?
        &mode=`1`
        &snippet=`msProducts`
        ]]

[[msPCS?&mode=`1`]]
        [[!mFilter2?
        &class=`msProduct`
        &element=`msProducts`
        &parents=`0`
        &filters=`[[+mspcs.filters]]`
        &aliases=`[[+mspcs.aliases]]`
        &sort=`[[+mspcs.sort]]`
        [[+mspcs.tpl]]
        ]]

[[msPCS? &mode=`2`]]
        [[!mFilter2?
        &class=`msProduct`
        &element=`msProducts`
        &parents=`0`
        &filters=`[[+mspcs.filters]]`
        &aliases=`[[+mspcs.aliases]]`
        &sort=`[[+mspcs.sort]]`
        [[+mspcs.tpl]]
        &where=`[[+mspcs.where]]`
        ]]

[[!msPCS?
        &mode=`2`
        &snippet=`mFilter2`
        &class=`msProduct`
        &element=`msProducts`
        &parents=`0`
        ]]

[1.0.20] - 2025-05-28

Исправлено

  • Вывод значения у опции "Родительские ресурсы" после обновления страницы

[1.0.19] - 2023-11-15

Исправлено

  • where для Tv полей

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