mFilter2 автоматическое название опций товара в фильтре сайта
        В miniShop2 в Настройках можно задавать опции товара.
В них мы указываем ключ, название, тип характеристики.
Как вывести в фильтре название на сайте, без добавления в лексикон строчки?
(добавление в лексикон, лишнее действие, хочется выводить сразу по полю «название»)
Чанк вывода опции выглядит так (tpl.mFilter2.filter.outer):
Сейчас выводит так:
    
    
                                                                                
            В них мы указываем ключ, название, тип характеристики.
Как вывести в фильтре название на сайте, без добавления в лексикон строчки?
(добавление в лексикон, лишнее действие, хочется выводить сразу по полю «название»)
Чанк вывода опции выглядит так (tpl.mFilter2.filter.outer):
{var $key = $table ~ $delimeter ~ $filter}
<fieldset id="mse2_{$key}">
    <h4 class="filter_title">{('mse2_filter_' ~ $table ~ '_' ~ $filter) | lexicon}</h4>
    {$rows}
</fieldset>Явно надо выводить вместо этого кода:{('mse2_filter_' ~ $table ~ '_' ~ $filter) | lexicon}только какой синтаксис?Сейчас выводит так:
mse2_filter_msoption_mag-susА надо чтобы так:
— Android 4
— Windows CE 3
Операционная система:
— Android 4
— Windows CE 3
Комментарии: 7
                Я использовал для этого дополнение SelectFilters            
                    
                Спасибо, работает отлично!            
                    
                Вот такой вопрос еще возник, а как вывести все фильтры которые доступны товару автоматически?
Чтобы не писать их когда добавляешь новую опцию?
Вместо вот этого в &filters=
ms|price:number,
msoption|tags,
msoption|auto,
msoption|mag-sus,
msoption|mag-int,
msoption|mag-modul,
msoption|mag-fun,
ms|vendor:vendors,
Чтобы этот список автоматически формировался.
Пробовал так:
 
 
                    Чтобы не писать их когда добавляешь новую опцию?
Вместо вот этого в &filters=
ms|price:number,
msoption|tags,
msoption|auto,
msoption|mag-sus,
msoption|mag-int,
msoption|mag-modul,
msoption|mag-fun,
ms|vendor:vendors,
Чтобы этот список автоматически формировался.
Пробовал так:
{set $filters = '!SelectFilters' | snippet: [
    'default' => [
        'ms|price:number', 'ms|vendor:vendors'
    ]
]}
[[!mFilter2?
				&limit=`30`
				&parents=`{$id}`
				&element=`msProducts`
				&setMeta=`1`
				&filters=`{$filters}`
				&suggestionsRadio=`ms|vendor`
				&class=`msProduct`
				&sort=`ms|price:asc`
				&suggestions=`1`
				&tplOuter=`tpl.mFilter2.outer.2`
				&tpls=`catalog.tovar.tpl`
				&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
				&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
				&tplFilter.outer.tv|number=`tpl.mFilter2.filter.slider`
				&tplFilter.row.tv|number=`tpl.mFilter2.filter.number`
				&showLog=`0`
				&___ajaxMode=`button`
				&___filterOptions=`{
				    "more": ".btn-more",
				    "more_tpl": "<a href=\"#\" class=\"btn btn-success btn-more\">Загрузить еще<\/a>",
				    "autoLoad": 1
			    }`
			]]            
                И желательно чтобы сразу понимал что это за поле (указывается при добавлении опции товара, например бегунок или множественный список) и к этому делу подставлялся шаблон сразу слайдера-бегунка например (как у цены)            
                    
                С выводом разобрался, галочка не стояла у фильтров — выводить фильтр            
                    <?php
$query = $modx->query("SELECT * FROM modx_ms2_options WHERE `key`= '".$filter."'");
$item = $query->fetch(PDO::FETCH_ASSOC);
if($item['caption']) {
    if($item['measure_unit']){
        $output = $item['caption'] . ', '.$item['measure_unit'];
    }else{
        $output = $item['caption'];
    }
    return $output;
}[[!snippet? &filter=`[[+filter]]]]            
                Спасибо за ответ, не заработало, [[!snippet? &filter=`[[+filter]]]] — тут не хватает видимо кавычки одной, но при исправлении все равно не запускается.
А так вопрос решил с помощью — SelectFilters, спасибо
                    А так вопрос решил с помощью — SelectFilters, спасибо
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.