Ответы пользователя по тегу 1С-Битрикс
  • Как выявить ошибку нехватки памяти?

    mbezvodinskikh
    @mbezvodinskikh
    Обратите внимание на файл /home/ml-new/public_html/bitrix/templates/main/components/bitrix/catalog.item/razdel-catalog/template.php на строку 104, где кто-то скорее всего зациклил рекурсию. Приведите код с 90 по 120 строку и точнее можно сказать.
    Ответ написан
    Комментировать
  • Почему нет свойства в $arResult?

    mbezvodinskikh
    @mbezvodinskikh
    Рекомендую переходить на d7 (Но перед этим прописать API код для инфоблока):
    \Bitrix\Main\Loader::includeModule('iblock');
    $class = \Bitrix\Iblock\Iblock::wakeUp(16)->getEntityDataClass();
    $rows = 
        $class::query()
        ->setSelect(['ID', 'NAME', 'JOB_TITLE.VALUE'])
        ->where('ACTIVE', true)
        ->fetchCollection()
    ;
    
    /**
      * @var \Bitrix\Main\ORM\Objectify\Collection $rows
      * @var \Bitrix\Main\ORM\Objectify\EntityObject $row
     */
    foreach ($rows as $row) {
        $data = $row->collectValues(
                \Bitrix\Main\ORM\Objectify\Values::ALL, 
                \Bitrix\Main\ORM\Fields\FieldTypeMask::ALL,
            true
        );
    
        /**
         * Не очень понятно для чего собирать все значения подряд
         */
        $res[] = $data['ID'];
        $res[] = $data['NAME'];
        $res[] = $data['JOB_TITLE']['VALUE'];
        
    }
    Ответ написан
    Комментировать
  • Как сделать динамический фильтр в bitrix:catalog.section.list?

    mbezvodinskikh
    @mbezvodinskikh
    Если я вас правильно понял, то Вам нужно применить выбранный фильтр к bitrix:catalog.section.list.
    Предположим, что Вы уже настроили добавление GET параметра фильтра в адресную строку.

    ...
    $GLOBALS['arSectionFilter'] = [];
    $request = \Bitrix\Main\Context::getCurrent()->getRequest();
    
    $filterValue = $request->getQuery('filtername');
    if ($filterValue) {
        $GLOBALS['arSectionFilter']  = [
            'UF_CUSTOM_FIELD' => $filterValue
        ];
    }
    
    $APPLICATION->IncludeComponent(
        'bitrix:catalog.section.list',
        '',
        array(
            'FILTER_NAME' => 'arSectionFilter',
            ...
        )
    )
    Ответ написан
    Комментировать