Фильтрация товара
Вечер добрый сообщество.
Возникла задача с фильтрацией товара, при клику по свойствам товара.
К примеру при клику по иконке Новинка должны выводится товары с данным свойством.
Для решения данной задачи решил создал тестовый сайт на modhost.pro, далее загрузил все нужные дополнения включая mSearch2, перекинул кусок верстки, вывел страницу каталога с товарами вот для наглядности.
Код вызова выглядит так:
на тестовом сайте в коде увидел вот такую вот конструкцию:
решил применить ее, в нужном месте чанка, где выводятся иконки свойств:
Подскажите пожалуйста, как довести код до ума, и на правильном ли я пути?
Заранее Благодарен!
Возникла задача с фильтрацией товара, при клику по свойствам товара.
К примеру при клику по иконке Новинка должны выводится товары с данным свойством.
Для решения данной задачи решил создал тестовый сайт на modhost.pro, далее загрузил все нужные дополнения включая mSearch2, перекинул кусок верстки, вывел страницу каталога с товарами вот для наглядности.
Код вызова выглядит так:
[[!mFilter2?
&element=`msProducts`
&includeThumbs=`270x190,460x370`
&includeContent=`1`
&filters=` `
&tpls=`tpl.msProducts.rowXX`
&class=`msProduct`
&tplOuter=`tpl.mFilter2.outer`
]]
<div id="mse2_sort" class="col-md-5">
[[%mse2_sort]]
<a href="#" data-sort="resource|publishedon" data-dir="[[+mse2_sort:is=`resource|publishedon:desc`:then=`desc`]]" data-default="desc" class="sort">[[%mse2_sort_publishedon]] <span></span></a>
<a href="#" data-sort="ms|price" data-dir="[[+mse2_sort:is=`ms|price:desc`:then=`desc`]]" data-default="desc" class="sort">[[%mse2_sort_price]] <span></span></a>
</div>
решил применить ее, в нужном месте чанка, где выводятся иконки свойств:
<div id="mse2_sort">
[[!+new:gt=`0`:then=`
<span class="lx">
<a href="#" class="sort"<i> data-sort="ms|new" data-dir="[[+mse2_sort:is=`ms|new`]]" data-default="" data-toggle="tooltip" data-placement="top" title="[[%ms2_frontend_new]]">
<img src="/assets/template/all/img/iconFilter/new.png" alt=""></a>
</span>`:else=``]]
</div>
но не получается нужный мне результат…Подскажите пожалуйста, как довести код до ума, и на правильном ли я пути?
Заранее Благодарен!
Комментарии: 5
help!
<div id="mse2_sort">
[[!+new:gt=`0`:then=`
<span class="lx">
<a href="#" class="sort" <i> data-sort="ms|new" data-dir="[[+mse2_sort:is=`ms|new`]]" data-default="" data-toggle="tooltip" data-placement="top" title="[[%ms2_frontend_new]]">
<img src="/assets/template/all/img/iconFilter/new.png" alt=""></a>
</span>`:else=``]]
</div>
В теге а у вас тег i… насколько я знаю подобное недопустимо
хм тек I, какая то фигня не заметил его… скорее всего хотел выделить курсивом часть кода но в теге code курсив не пашет… не до конца стер тег I.
С ответом конечно не дождался, лето, отпуска все дела…
Поэтому изобрел свой костыль, мб кому пригодится…
1. Вызов такой:
2. Создаем сниппет обзываем его sort
3. В чанке с выводом товаров tpl.msProducts.rowXX, добавляем в ссылки иконок href="[[~[[*id]]]]?data=new" у меня это выглядит вот так:
Хотелось бы конечно дождаться хоть какой го то решения с mFilter2, думаю было бы полезно…
Поэтому изобрел свой костыль, мб кому пригодится…
1. Вызов такой:
[[!pdoPage?
&limit=`8`
&element=`msProducts`
&tpl=`tpl.msProducts.rowXX`
&includeThumbs=`270x190,460x370`
&includeContent=`1`
&includeTVs=`xarakterist`
[[!sort]]
&pageLimit=`7`
]]
<div class="col-sm-12">
[[!+page.nav]]
</div>
2. Создаем сниппет обзываем его sort
<?php
if (isset($_GET['data'])) {
$sorting = $_GET['data'];
$format = '&where=`{"Data.%s":1}`';
printf($format, $sorting);
}
3. В чанке с выводом товаров tpl.msProducts.rowXX, добавляем в ссылки иконок href="[[~[[*id]]]]?data=new" у меня это выглядит вот так:
[[!+new:gt=`0`:then=`<span class="lx"><a href="[[~[[*id]]]]?data=new" data-toggle="tooltip" data-placement="top" title="[[%ms2_frontend_new]]">
<img src="/assets/template/all/img/iconFilter/new.png" alt=""></a></span>`:else=``]]
вот как то так… Хотелось бы конечно дождаться хоть какой го то решения с mFilter2, думаю было бы полезно…
Вот кстати ссылка с работой костыля…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.