Ответы пользователя по тегу 1С-Битрикс
  • Почему фильтр по активности в админке не показывает 80% товаров?

    maler1988
    @maler1988 Автор вопроса
    Web-программист (1С Bitrix)
    Собственно разобрались. При создании фасетного индекса случился сбой в базе данных, индекс создался некорректно, как оказалось некорректный индекс влияет не только на товары в публичной части сайта, но и на админку.

    Статья про фасету: https://dev.1c-bitrix.ru/community/blogs/product_f...

    Ответ саппорта:
    Так как активность связана с данными в фасетном индексе и есть проблемы в целостности фасетного индекса, то будет проблема с отображением элементов отфильтрованных по активности.
    Ответ написан
    Комментировать
  • Как сделать сортировку товаров в Битрикс?

    maler1988
    @maler1988
    Web-программист (1С Bitrix)
    Если вы используете комплексный компонент каталога bitrix.catalog, вам необходим в файл section.php шаблона до вызова catalog.section сделать сам блок с ссылками сортировки. Оформляете как хотите ul li например. В ссылках передаёте параметр sort_field и sort_order, обрабатываете их и устанавливаете в $arParams нужные значения.

    Ниже этот $arParams будет влиять на компонент catalog.section, код примерно такой:

    if($_REQUEST["sort_field"] && $_REQUEST["sort_order"]) {
    	$arParams["SORT_BY1"] = $sortFields[$_REQUEST["sort_field"]];
    	$arParams["SORT_ORDER1"] = $_REQUEST["sort_order"];
    } else {
    	$arParams["SORT_BY1"] = "PROPERTY_NUMBER";
    	$arParams["SORT_ORDER1"] = "DESC";
    }
    
    //ниже вызов компонента


    а чтобы параметры сохранялись в ссылках используйте функцию GetCurPageParam:
    <a href="<?=$APPLICATION->GetCurPageParam("sort_field=".$_REQUEST["sort_field"]."&sort_order=".$_REQUEST["sort_order"]."", array("sort_field", "sort_order", "PAGEN_1"));?>" >Сортировка по цене</a>


    в общем и целом как-то так. Работает безотказно.
    Ответ написан
    1 комментарий