Смешивание стилей у фильтраций
Всем привет. Есть такая задачка небольшая. Вывожу на одной странице два каталога через компонент mFilter2, но вот странная вещь, когда я применяю фильтрацию или использую паггинацию, то стили сбиваются в одном фильтре, а во втором отказывается работать паггинация.
Делаю так:
<p>Каталог 1</p>
[[!mFilter2?
&class=`msProduct`
&element=`msProducts`
&parents=`[[*id]]`
&filters=`ms|price:number`
&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
&tplOuter=`tpl.mFilter2.outer`
&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
&tpl=`tpl.msProducts.row`
]]
<p>Каталог 2</p>
[[!mFilter2?
&class=`msProduct`
&element=`msProducts`
&parents=`[[*id]]`
&filters=`ms|price:number`
&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
&tplOuter=`tpl.mFilter2.outer.list`
&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
&tpl=`tpl.msProducts.row.list`
]]Из-за чего такая взаимозависимость и неработоспособность может проявляться?Посмотреть пример того что получается можно тут: gigstroy42.pfta.ru/декоративный-камень/
Комментарии: 22
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Чтобы заработали 2 фильтра на одной странице Вам нужен второй экземпляр default.js с другими селекторами и соответ ственно другие id у элементов на странице. Теоретически.
Не предназначен mFilter2 вызываться 2 раза на странице.
Чтобы если допустим активна кнопка в html с id равным first_catalog, то в сниппет !mFilter2? подгружался бы чанк:
Если активна кнопка с id second_catalog, то соответственно в сниппет подгружался бы другой чанк:
Как такое сделать?
Если организовать это через $_REQUEST, то получается все будет срабатывать только после перезагрузки страницы, да?
В моем случае это все выглядит так:
Через вызов своего сниппета прикручивать к кнопкам что ли подмену чанков или как?
В стандартном чанке всё предусмотрено, нужно только посмотреть.
Вызов идет 42 строке результатов из чанка msProducts (плейсхолдер [[+results]]), так как сниппет mFilter2 привязан к нему. Или то что указывается по ссылке на 27-32 строках, вызывает нужный чанк в [[+results]]?
bezumkin.ru/sections/components/1546/
и не работают условия почему-то, хотя на другом параллельном сайте модекса, где не используется компонент MFilter2 там все работает (напрямую через msProducts). С чем это может быть связано?
когда пишешь без условия просто:
то выводит, в противном случае ничего не выводит даже на экран. Как с этими глюками бороться)?
Но почему вот это не работает:
непонятно…
В обязательном порядке я отвечаю на вопросы только в техподдержке магазина и хостинга. А здесь — по желанию.
Я не вижу таких плейсхолдеров. А ты?
там в чанке спокойно работают такие конструкции:
Хотя там таких плейсхолдеров тоже не видно, я думал это от modx просто переменные анализирующие состояние загружаемого документа, ресурса или товара. first, last — Проверка первой/последней записи, odd — проверка на четность.
А когда пишу через mFilter2 или через другой компонент minishop2, то такое не работает. Как тогда сделать чтобы это работало? Логику сниппета дописывать, чтобы такие плейсхолдеры учитывал?
Документацию почитать. Есть возможность указывать отдельные чанки для первых, последних и других строк.
Если бы они работали одинаково — это были бы одинаковые сниппеты, а не разные.
Такое ощущение, что шестилетнему ребенку объясняю.
Если сам основной контент подменяется у чанков посредством переключения чанков tpl.msProducts.row и tpl.msProducts.row.list, то первый чанк всегда получается одинаковым, что не вариант. Мне нужно, чтобы первый и последний чанк тоже переключались. Если бы были условия шаблонизатора first, last, то можно было легко намутить это в чанках tpl.msProducts.row и tpl.msProducts.row.list.
P.S. Минусуйте на здоровье), просто говорю, что надо делать основательно сниппеты, чтобы потом не мучиться так, как в моем случае.
Готов оплатить 2000 рублей? Я прямо сегодня выпущу обновление с поддержкой этих плейсхолдеров.