[Решено] Как вывести в mfilter

Как в фильтре mfilter вывести из поля ms|platforms с типом список с автодополнением где данные в виде [«val1»,«val2»,«val3»]?

Нужно в фильтре только по одному типу указать. И чтобы искал в поле только по одному значению, а не полностью всю простыню выводил?

Сейчас выглядит фильтр следующим образом:

{'!mFilter2' | snippet : [
        'parents' => $_modx->resource.id,
        'limit' => 12,
        'class' => 'msProduct',
        'element' => 'msProducts',
        'tpl' => '@FILE components/msearch2/mfilter/row.tpl',
        'tplOuter' => '@FILE components/msearch2/mfilter/outer.tpl',
        'tplPageWrapper' => '@INLINE <ul class="pagination justify-content-md-end mt-2">{$pages}</ul>',
        'tplPage' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
        'tplPageActive' => '@INLINE <li class="page-item active"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
        'tplPageSkip' => '@INLINE <li class="page-item gap"><span class="page-link">...</span></li>',
        'tplPageFirst' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">[[%pdopage_first]]</a></li>',
        'tplPageLast' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">[[%pdopage_last]]</a></li>',
        'tplPagePrev' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">«</a></li>',
        'tplPageNext' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">»</a></li>',
        'tplPageFirstEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">[[%pdopage_first]]</a></li>',
        'tplPageLastEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">[[%pdopage_last]]</a></li>',
        'tplPagePrevEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">«</a></li>',
        'tplPageNextEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">»</a></li>',
        'where' => '{"class_key":"msProduct"}',
        'suggestions' => 'true',
        'filters' => '
                        ms|price:number,
                        ms|platforms:checkbox
                    ',
        'sort' => '
                        ms|price:desc
                    ',
        'tplFilter.outer.ms|price' => '@FILE components/msearch2/mfilter/filters/slider-outer.tpl',
        'tplFilter.row.ms|price' => '@FILE components/msearch2/mfilter/filters/slider-row.tpl'
    ]}

Мне подсказали что они должны быть option, а в вызове фильтра казать их как опции и значения будут по одному.

Но я что-то не соображу как это сделать. Может кто-нибудь подсказать?
SEQUEL.ONE
07 апреля 2019, 15:10
modx.pro
1 516
0

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

SEQUEL.ONE
07 апреля 2019, 16:41
0
Добавил

'filters' => '
                        ms|price:number,
                        msoption|platforms
                    ',
Но в списке почему-то выводится:

3DS
PS3
PS3, PS4
PS3, PS4, Vita
PS3, PS4, Vita, 3DS, Switch
PS3, PS4, Vita, Switch
PS3, PS4, Wii U, Vita
PS3, PS4, Wii U, Vita, 3DS, Switch
Как вывести список по одному?
    SEQUEL.ONE
    07 апреля 2019, 22:36
    0
    Решилось просто

    {var $pos = stripos($title, ',')}
    {if $pos === false}
    <div class="custom-control custom-checkbox mb-2">
        <input type="checkbox" id="mse2_[[+table]][[+delimeter]][[+filter]]_[[+idx]]" value="[[+value]]" name="[[+filter_key]]" class="custom-control-input" [[+checked]] [[+disabled]]>
        <label class="custom-control-label [[+disabled]]" for="mse2_[[+table]][[+delimeter]][[+filter]]_[[+idx]]">{$title}</label>
    </div>
    {/if}
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2