Сортировка по определенным полям
Всем доброго вечера. Под вечер в понедельник особенно тяжело работать и туго сображаю уже)), потому прибегаю к вашей помощи. Есть каталог товаров, в котором есть сортировка по двум полям «Название» и «Цена», кроме того есть галка «Только в наличии»:
<!-- catalog panel -->
<div class="cat_panel">
<div class="left">
<div class="panel">
Сортировать по:
<a href="" id="name_good" class="active">Названию</a>
<a href="" id="price_good">Цене</a>
</div>
<div class="chk">
<input type="checkbox" name="" id="stock">
<label for="stock">Только в наличии</label>
</div>
</div>
Фильтрацию вызываю таким образом:[[!mFilter2?
&class=`msProduct`
&element=`msProducts`
&includeThumbs=`200x230`
&parents=`[[*id:is=`1`:then=`19`:else=`[[*id]]`]]`
&filters=`ms|price:number,
ms|vendor:vendors`
&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
&tplOuter=`tpl.mFilter2.outer`
&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
&includeTVs=`attribut_new_good`
&tvPrefix=`tv.`
&showHidden=`1`
&sort=`ms_product|pagetitle:asc,ms|price:asc`
]]
Пока сортировка идет по названию и цене, а мне надо чтобы в вызов сниппета включалась та сортировка которая активна в hmtl-коде. В данном случае это: <a href="" id="name_good" class="active">Названию</a>
Как можно в сниппет передать например посредством js значение?
Пробовал так:
<script>
fucntion print_result()
{
var r = "ms_product|pagetitle:asc,ms|price:asc";
return r;
}
</script>
И не передается в сниппет:...
&tvPrefix=`tv.`
&showHidden=`1`
&sort=`<script>document.write(print_result());</script>`
]]
...
Как правильно сделать? Комментарии: 5
В стандартном чанке сортировка обозначается совсем иначе:
<div id="mse2_sort" class="span5 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>
</div>
Посмотри документацию и добавь свои сортировки по образу и подобию.
Да спасибо большое! Помогло. Решил проблему. И все вопрос такой остается, можно как-то из js передавать значения в вызовы сниппетов? Или это абсурдная вещь)?
Конечно, абсурдная. javascript может передать любой посетитель сайта.
Ты хочешь, что любой посетитель сайта мог выполнять произвольный php у тебя на хостинге?
Есть $_GET и $_POST — через них передаются параметры для PHP, который их должен очень вдумчиво фильтровать. Эти параметры можно использовать, и так же ими можно управлять на javascript.
Ты хочешь, что любой посетитель сайта мог выполнять произвольный php у тебя на хостинге?
Есть $_GET и $_POST — через них передаются параметры для PHP, который их должен очень вдумчиво фильтровать. Эти параметры можно использовать, и так же ими можно управлять на javascript.
Не произвольный, а например, в сниппет передавать название чанка нужного, в зависимости от того что человек выбрал на своем компьютере.
И как человек выберет чанк? Из предложенных опций?
Ну так и передавай выбранную опцию через $_GET или $_POST параметр — причем здесь вообще javascript? Он нужен только когда ты уже разберешься с логикой работы и захочешь сделать это с помощью ajax.
Ну и у mFilter2 из коробки есть возможность менять чанки — см. параметр &tpls.
Ну так и передавай выбранную опцию через $_GET или $_POST параметр — причем здесь вообще javascript? Он нужен только когда ты уже разберешься с логикой работы и захочешь сделать это с помощью ajax.
Ну и у mFilter2 из коробки есть возможность менять чанки — см. параметр &tpls.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.