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 из чанка, все прекрасно работает.
avi.zeltser
07 октября 2019, 12:39
modx.pro
1 274
0

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

Евгений Webinmd
07 октября 2019, 12:49
0
Надо использовать toPlaceholders = my., toSeparatePlaceholders немного для другого.

Потом в коде просто вызывается либо {$my.results} либо {$_modx->getPlaceholder('my.results')}
    avi.zeltser
    07 октября 2019, 13:01
    0
    Спасибо за ответ. Но у меня тут логика следующая: мне нужно выводить все фильтры буквально по кускам. Чтобы не использовать {$filters} и там пошло. А чтобы можно было вывести отдельно {$filters.price} например.
    Дмитрий Кондаков
    07 октября 2019, 15:44
    0
    Фильтры нужно выводить таким образом: {$_modx->getPlaceholder('pls.ms|price')}
      avi.zeltser
      07 октября 2019, 18:34
      0
      Пробую именно так, не выводит отдельно
        ElenaLelo
        08 октября 2019, 10:37
        +1
        У вас указано
        'toSeparatePlaceholders'=>'my.',
         'filters'=>'ms|price:number, parent:categories',
        Поэтому не pls, а my
        {$_modx->getPlaceholder('my.ms|price')}
          avi.zeltser
          09 октября 2019, 08:15
          0
          Большое спасибо!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      6