[Решено] Как вывести в mfilter
Как в фильтре mfilter вывести из поля ms|platforms с типом список с автодополнением где данные в виде [«val1»,«val2»,«val3»]?
Нужно в фильтре только по одному типу указать. И чтобы искал в поле только по одному значению, а не полностью всю простыню выводил?
Сейчас выглядит фильтр следующим образом:
Мне подсказали что они должны быть option, а в вызове фильтра казать их как опции и значения будут по одному.
Но я что-то не соображу как это сделать. Может кто-нибудь подсказать?
Нужно в фильтре только по одному типу указать. И чтобы искал в поле только по одному значению, а не полностью всю простыню выводил?
Сейчас выглядит фильтр следующим образом:
{'!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, а в вызове фильтра казать их как опции и значения будут по одному.
Но я что-то не соображу как это сделать. Может кто-нибудь подсказать?
Комментарии: 2
Добавил
'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
Решилось просто
{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}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.