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

Как установить сортировку по умолчанию в каталоге товаров?

00 голосов
3
Добрый день!

У меня каталог товаров отображается в виде таблицы, над таблицей находятся кнопки сортировки.
Кнопки сортировки работают через SortingEx.

Возникла небольшая проблема:
По умолчанию (т.е. при первом открытии каталога и до нажатия кнопок сортировки) каталог товаров сортируется по названию товара "name" и по убыванию "desc". (т.е. от буквы Я до буквы А)
Я хочу, чтобы каталог по умолчанию сортировался по названию товара "name", но по возрастанию - "asc".

Я прописал функцию InitSorting в коде вывода таблицы каталога, но она не работает. Мало того, ещё и сайт перестаёт отображаться, а сервер выдаёт ошибку "502: Bad Gateway"

Вопрос:
1) Как нужно правильно прописать функцию InitSorting, чтобы происходила сортировка по умолчанию?
2) Может быть вместо InitSorting нужно использовать другую функцию? Если да, то какую и где её прописывать?

Помогите, пожалуйста!

Спасибо
Денис

п.с. Вот мой код вывода каталога товаров (вместе с InitSorting):

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<div class="catalog-section">
<?if($arParams["DISPLAY_TOP_PAGER"]):?>
<?=$arResult["NAV_STRING"]?>
<?endif;?>

<?
InitSorting(
mixed page = false,
string by_var = "name",
string order_var = "asc"
);
$rsUsers = CUser::GetList($by, $order);
?>


Сортировать по: названию<?=SortingEx("name")?> ТМ<?=SortingEx("PROPERTY_CML2_NAME_3")?> месту пр-ва<?=SortingEx("PROPERTY_CML2_COUNTRY")?> сроку годности<?=SortingEx("PROPERTY_CML2_EXPIRY")?>



<br>
<thead> </thead> <tbody> <?foreach($arResult["ITEMS"] as $cell=>$arElement):?> <tfoot> </tfoot> "><img border="1" src="<?=$arElement["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arElement["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arElement["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /> <br>"><b>Подробнее → "><?=$arElement["PROPERTIES"]["CML2_NAME"]["VALUE"]?> <?=$arElement["PROPERTIES"]["CML2_NAME_2"]["VALUE"]?> <br>Торговая марка: <?=$arElement["PROPERTIES"]["CML2_NAME_3"]["VALUE"]?> <br>Место производства: <?=$arElement["PROPERTIES"]["CML2_COUNTRY"]["VALUE"]?> <?=$arElement["PROPERTIES"]["CML2_ORIGIN"]["VALUE"]?> <br>Жирность: <?=$arElement["PROPERTIES"]["CML2_FAT"]["VALUE"]?> <br>Форма: <?=$arElement["PROPERTIES"]["CML2_HEAD"]["VALUE"]?> <br>Вес кг: <?=$arElement["PROPERTIES"]["CML2_WEIGHT"]["VALUE"]?> <br>Ед изм: <?=$arElement["PROPERTIES"]["CML2_BASE_UNIT"]["VALUE"]?> <br>Срок годности: <?=$arElement["PROPERTIES"]["CML2_EXPIRY"]["VALUE"]?> </tr> <?$cell++; if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?> </tr> <?endif?> <?endforeach; // foreach($arResult["ITEMS"] as $arElement):?> <?if($cell%$arParams["LINE_ELEMENT_COUNT"] != 0):?> <?while(($cell++)%$arParams["LINE_ELEMENT_COUNT"] != 0):?> <?endwhile;?> </tr> <?endif?> </tbody>
<b>
Рисунок

<?if($arParams["DISPLAY_BOTTOM_PAGER"]):?>
<br /><?=$arResult["NAV_STRING"]?>
<?endif;?>
</div>
спросил 02 Март, 14 от UnoL (340 баллов)
Судя по сайту у Вас получилось сделать "от А до Я" - напишите как и что, пожалуйста -  у меня схожая ситуация.

denis.belykh85@rambler.ru

3 Ответы

00 голосов
ап!
ответил 09 Авг, 14 от UnoL (340 баллов)
00 голосов
А в настройках компонента менять сортировку не получилось?
ответил 13 Дек, 14 от Federal (200 баллов)
00 голосов
Игорь, я вас не понимаю, поясните подробнее, пожалуйста.

В настройке компонентов у меня стоит параметр ={$_REQUEST["by"]}
Порядок сортировки стоит: "по возрастанию" - при изменении этого поля ничего не происходит.

Но по умолчанию, когда в первый раз заходишь на страницу, каталог сортируется по имени и по убыванию (от Я до А).

Посмотрите сами, так проще будет: http://bitrix.cheesebp.ru/products/22/

Я хочу сделать, чтобы каталог по умолчанию сортировался по имени и по возрастанию (от А до Я).

Пожалуйста, подскажите как это можно сделать?
Весь код написан в моём первом сообщении.

Денис
ответил 04 Апр, 15 от UnoL (340 баллов)

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

0 голосов
3 ответов
спросил 23 Июнь, 13 от UnoL (340 баллов)
0 голосов
1 ответ
0 голосов
2 ответов