Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Сортировка из публичной части

00 голосов
9
Подскажите как сделать сортировку из публичной части?

Нужно чтоб пользователь мог сам выбирать по какому полю у него сортируется товары в каталоге.
спросил 16 Май, 13 от guk (360 баллов)

9 Ответы

00 голосов
up.

Это можно сделать в стандартных компонентах?
ответил 16 Май, 13 от guk (360 баллов)
00 голосов
Ответьте!
ответил 17 Май, 13 от Elizia (140 баллов)
00 голосов
Для формирования стрелок сортировки в таблицах SortingEx
http://dev.1c-bitrix.ru/api_help/main/functions/filter/sortingex.php
Для сортировки по названию SortingEx("NAME"), по свойству - SortingEx("PROPERTY_CODE") (CODE - символьный код свойства)
Ставим их в шаблон компонента. В параметры компонента передаем $_REQUEST["by"] (поле сортировки) и $_REQUEST["order"] (направление сортировки).
ответил 30 Июль, 13 от NitroGeN (2,840 баллов)
00 голосов
Евгений Малков,
Не стал создавать новую тему - ни как не могу сообразить, как использовать мне данную функцию. Имеется например свойство Артикул, которое имеет Символьный код:CML2_ARTICLE и в таблице имеется наименование товара - делаю следующее:

Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="catalog-section">

<table bgcolor="#cccccc" border="0" cellpadding="2" cellspacing="1" width="100%">
<tbody>

<td class="catalogue" align="center" bgcolor="#ffffff" width=120><?=SortingEx("CML2_ARTICLE")?>
<b>Артикул</b>
</td>

<td class="catalogue" align="center" bgcolor="#ffffff"><?=SortingEx("NAME")?>
<b>Наименование</b>
</td>


В результате стрелочки появляются, но при нажатии на них ничего не происходит. Что неверно?
ответил 01 Ноя, 13 от Aypuka (340 баллов)
00 голосов
Руслан Смирнов, не забыли про вторую часть?
Цитата
Евгений Малков пишет:
В параметры компонента передаем $_REQUEST["by"] (поле сортировки) и $_REQUEST["order"] (направление сортировки).
Чтобы компонент знал по каким полям и в какую сторону сортировать....
ответил 06 Фев, 14 от sickmind (4,660 баллов)
00 голосов
Александр Черкасов,
Да, вот на это я не обратил внимание. Но если мне нужно сортировать catalog.section, то как я могу в него передать данные параметры, если он вызывается мной не явно, а через компонент catalog? Или эти параметры нужно передавать в функции? Можно привести пример, а то что-то вообще не соображу?
ответил 27 Май, 14 от Aypuka (340 баллов)
00 голосов
А-а-а-а-а, все получилось - огромное спасибо, как же все оказалось просто. Открыл страницу с перечнем товаров и зашел в редактирование страницы как HTML, там подправил две строки:

"ELEMENT_SORT_FIELD" => $_REQUEST["by"],
"ELEMENT_SORT_ORDER" => $_REQUEST["order"],

и все пошло. Это я рассказываю на всякий случай, для потомков.
ответил 24 Сен, 14 от Aypuka (340 баллов)
00 голосов
а можно просто:
"ELEMENT_SORT_FIELD" => $by,
"ELEMENT_SORT_ORDER" => $order,

или

Array($by=>$order)
ответил 28 Янв, 15 от Brandy (100 баллов)
00 голосов
Такой ещё вопрос в тему:
Когда в публичной части меняешь настройки компонента через графический интерфейс и жмёшь "сохранить", то элемент_сорт_ордер затирается и становится по умолчанию:

"ELEMENT_SORT_ORDER" => "asc"

Всё потому, что там это поле может принимать всего два значения -> либо по возрастанию, либо по убыванию. Так и сохраняет (( Как этого избежать, кто подскажет?
ответил 11 Май, 15 от Dread726 (100 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 07 Май, 14 от Asteria (1,840 баллов)
0 голосов
3 ответов
0 голосов
1 ответ
0 голосов
2 ответов
спросил 19 Апр, 14 от Evenka (520 баллов)
0 голосов
0 ответов