mFilter2 – при фильтрации вывести дополнительный блок с ресурсами
Приветствую.
Столкнулся с такой задачей.
Установлен mFilter2, фильтр ограничен выводом товара limit=>9, заместо пагинации кнопка.
Как при фильтрации или если на странице выводится меньше товаров чем указано в лимите, подгружать вывод из дочерних веток. Например, выводить блок похожие товары.
Направьте пожалуйста на правильный путь, может где есть примеры? Или что-то подобное. За готовое решение отблагодарю.
Столкнулся с такой задачей.
Установлен mFilter2, фильтр ограничен выводом товара limit=>9, заместо пагинации кнопка.
Как при фильтрации или если на странице выводится меньше товаров чем указано в лимите, подгружать вывод из дочерних веток. Например, выводить блок похожие товары.
Направьте пожалуйста на правильный путь, может где есть примеры? Или что-то подобное. За готовое решение отблагодарю.
Комментарии: 4
1. Для варианта, если результатов меньше лимита: в чанке, который у вас указан в tplOuter, можете проверять плейсхолдер $total
{if $total > 9}
<!-- Блок похожие товары -->
{/if}
2) При фильтрации используй событие mse2_load и либо подргужай нужный блок по ajax, либо показывай его, если он изначально есть спрятанный в верстке. Вот инфа в доке
Спасибо за ответ!
Варианты рабочие! Первый $total так просто, честно не знал.
Второй, при фильтрации если уже существует скрытый вывод блоков, нужно в скрипте посчитать количество выведенных товаров и с помощью сравнение показывать блок с этим разобрался.
Варианты рабочие! Первый $total так просто, честно не знал.
Второй, при фильтрации если уже существует скрытый вывод блоков, нужно в скрипте посчитать количество выведенных товаров и с помощью сравнение показывать блок с этим разобрался.
$(document).on('mse2_load', function (e, data) {
var matched = $("div#transferBox");
if(matched.length < 9)
{
$('#total').addClass('on');
}else{
$('#total').removeClass('on');
}
});
Но никак не могу понять, как подгрузить через событие mse2_load блок чтобы он не был спрятан в коде. Подгрузить, например сниппет msProducts?
Делай ajax-запрос, обрабатывай его плагином или сниппетом и вставляй результат. Основы работы с ajax можешь посмотреть тут
Спасибо за подсказки!
Разобрался…
Можно выводить сниппет либо через Ajax событие «клик», либо через событие mse2_load.
Но все равно знаний у меня нехватает, после первичного ajax запроса сниппет подгружается, но при фильтрации сниппет приходится маскировать через style=«display: none;»
А вот сделать как в фильтре чтобы была подгрузка и удаление самого блока в зависимости от условий, сколько товара выведено на страницы, увы здесь я не тяну.
Разобрался…
Можно выводить сниппет либо через Ajax событие «клик», либо через событие mse2_load.
Но все равно знаний у меня нехватает, после первичного ajax запроса сниппет подгружается, но при фильтрации сниппет приходится маскировать через style=«display: none;»
А вот сделать как в фильтре чтобы была подгрузка и удаление самого блока в зависимости от условий, сколько товара выведено на страницы, увы здесь я не тяну.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.