Фильтр mFilter по TV полю типа чекбокс

Хочу создать фильтрацию по TV полю типа чекбокс. Записать сразу несколько параметров через разделитель, вместо создания для каждого параметра отдельного поля. Сейчас у меня есть параметры типа Радио в них параметры выставлены так: Есть==1||Нет==2. Они выводятся чекбоксом. Как мне сделать такие же чекбоксы для параметров из TV поля чекбокс?

Вызов mfilter
{'!mFilter2' | snippet : [
    'element' => 'msProducts',
    'tpl' => '@FILE chunks/cards/card.tpl',
    'parents' => 22,
    'includeThumbs' => 'square',
    'limit' => 28,
    'includeTVs' => 'size,pro,price1,area',
    'sort' => 'ms_product|menuindex:asc',
    'toSeparatePlaceholders' => 'my.',
    'filters' => '
        tv|floor:default,
        tv|size:default,
        tv|area:number,
        tv|balkon:default,
        tv|erker:default,
        tv|kukushka:default,
        tv|terrasa:default,
        tv|kotel:default,
        ms|price:number,
        tv|params==default,
        ',
    'aliases' => '
                tv|floor==floor,
                tv|size==size,
                tv|area==area,
                tv|params==params,
                tv|balkon==balkon,
                tv|erker==erker,
                tv|kukushka==kukushka,
                tv|terrasa==terrasa,
                tv|kotel==kotel,
                ms|price==price,
              ',


    'tplFilter.outer.floor' =>'tpl.mFilter2.filter.select',
    'tplFilter.row.floor' =>'tpl.mFilter2.filter.option',

    'tplFilter.outer.area' =>'tpl.mFilter2.filter.slider',
    'tplFilter.row.area' =>'tpl.mFilter2.filter.number',

    'tplFilter.outer.price' =>'tpl.mFilter2.filter.slider',
    'tplFilter.row.price' =>'tpl.mFilter2.filter.number',

    'tplFilter.outer.size' =>'tpl.mFilter2.filter.select',
    'tplFilter.row.size' =>'tpl.mFilter2.filter.option',

    'suggestionsRadio' => 'tv|size,tv|floor',

    'tplPageWrapper' => '@INLINE <div class="pagination"><ul class="pagination  justify-content-center">{$prev}{$pages}{$next}</ul></div>',
    '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>',
    'tplPagePrev' => '@INLINE <li class="page-item " rel="prev"><a class="page-link" href="{$href}">«</a></li>',
    'tplPageNext' => '@INLINE <li class="page-item " rel="next"><a class="page-link" href="{$href}">»</a></li>',
    'tplPagePrevEmpty' => '@INLINE ',
    'pageLimit' => 6,
    'tplPageNextEmpty' => '@INLINE ',
]}
в форме поиска каждый параметр вывожу так
{'my.tv|erker' | placeholder}
чанк для чекбоксов tpl.mFilter2.filter.checkbox (не помню менял я его или стандартный такой)
{var $key = $table ~ $delimeter ~ $filter}
{if $idx == 0}
  <label for="mse2_{$key}_{$idx}" class="{$disabled} checkbox-button">
    <input type="checkbox" class="checkbox-button__input" name="{$filter_key}" id="mse2_{$key}_{$idx}" value="{$value}" {$checked} {$disabled}>
    <span class="checkbox-button__control"></span>
    <span class="checkbox-button__label">{('mse2_filter_' ~ $table ~ '_' ~ $filter) | lexicon}</span> <sup>{$num}</sup></span>
  </label>
{/if}
Вместе с фильтром использую компонент SeoFilter страницу с параметром из чекбокса я создал, но значения он не фильтрует, выводит все ресурсы.
Misha Bulic
09 декабря 2021, 10:32
modx.pro
827
0

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

Misha Bulic
09 декабря 2021, 10:54
0
Нашёл ошибку в вызове в 'filters' => ' tv|params==default, вместо tv|params:default. Фильтрация на странице seofilter заработала, но вот в форме только один чекбокс как его настроить чтобы выводил параметры из Тв поля?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1