mFilter2 + toSeparatePlaceholders + fenom
Столкнулся с вот такой вот проблемой: мне нужно вывести фильтры в разных местах, чтобы категории были в сайдбаре, товары в основном блоке, а фильтры в другом. Почитал документацию, нашел toSeparatePlaceholders. Вроде бы все просто и логично, но не получается сделать так, чтобы работало. Подскажите, что я делаю не так?
Вот код вызова сниппета:
{$_modx->runSnippet('!mFilter2',[
        'class'=>'msProduct',
        'element'=>'msProducts',
        'parents'=>$_modx->resource.id,
        'toSeparatePlaceholders'=>'my.',
        'filters'=>'ms|price:number, parent:categories',
        'limit' =>'40',
        'depth' => $dep,
        'tpl'=>'itemsOuterTpl',
        'tplFilter.outer.ms|price'=>'tpl.socvetieFilterSlider',
        'tplFilter.row.ms|price'=>'tpl.mFilter2.filter.number',
        'tplFilter.outer.default' => 'tpl.catFiltersOuter',
        'tplFilter.row.default' => 'tpl.catFiltersItem',
        'sort'=>'ms|price:asc,resource|publishedon:asc',
        'ajaxMode'=>'button',
        'where'=>'{ "Data.image:!=":"" }',
        'filterOptions'=>'{
            "more_tpl": "<button class=\"btn btn-default btn_more my\">Загрузить еще</button>"
        }'
])}А вот код вызова чанка tpl.mFilter2.outer:<div class="row msearch2" id="mse2_mfilter">
    <form action="{$_modx->resource.id | url}" method="post" id="mse2_filters">
        <div class="items-header__filters">
            {$my.filters}
        </div>
    </form>
    <div class="col-md-9">
        <div id="mse2_results" class="items-list">
            {$my.results}
        </div>
        <div class="mse2_pagination">
            {'page.nav' | placeholder}
        </div>
    </div>
</div>Если убрать toSeparatePlaceholders и префиксы my из чанка, все прекрасно работает.    Комментарии: 6
                Надо использовать toPlaceholders = my., toSeparatePlaceholders немного для другого.
Потом в коде просто вызывается либо {$my.results} либо {$_modx->getPlaceholder('my.results')}
                    Потом в коде просто вызывается либо {$my.results} либо {$_modx->getPlaceholder('my.results')}
                Спасибо за ответ. Но у меня тут логика следующая: мне нужно выводить все фильтры буквально по кускам. Чтобы не использовать {$filters} и там пошло. А чтобы можно было вывести отдельно {$filters.price} например.            
                    
                Фильтры нужно выводить таким образом: {$_modx->getPlaceholder('pls.ms|price')}            
                    
                Пробую именно так, не выводит отдельно            
                    
                У вас указано
                    'toSeparatePlaceholders'=>'my.',
 'filters'=>'ms|price:number, parent:categories',Поэтому не pls, а my{$_modx->getPlaceholder('my.ms|price')}            
                Большое спасибо!            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.