Вывод пользовательских полей раздела (битрикс)
1C-BITRIX 7

С 2009 года веб-дизайн - моя основная сфера деятельности. Создаю проекты разного уровня сложности, оказываю поддержку, разрабатываю индивидуальные решения, помогаю новичкам.

7 Комментариев
  1. зачем это делать, если можно просто предать ключ/значение в подключение компонента? "SECTION_USER_FIELDS" => array('UF_*')
    1. Илья, здравствуйте! Спасибо за ваше дополнение! Дело в том, что данное свойство, если не ошибаюсь, доступно только для компонента "Торговый Каталог". Если же нужно вывести свойство раздела обычного инфоблока, то приходится действовать как описано в статье. Обратите внимание на официальную документацию битрикса: https://dev.1c-bitrix.ru/user_help/components/content/catalog/catalog_section_list.php - указанное вами свойство компонента используется только для компонента catalog. Возможно, я не прав, поправьте, если владеете другой информацией.
  2. Большое спасибо за статью, очень полезный код. Единственное не могу разобраться как его модифицировать, может подскажите. Сейчас UF_RAZDEL_TITLE и UF_RAZDEL_DESC выводятся для выбранного раздела, также как стандартное поле DESCRIPTION, а я пытаюсь вывести UF_RAZDEL_DES для каждого раздела из ul списка подразделов.
    1. Сергей, здравствуйте! Спасибо за ваш вопрос! Используйте код приведенный в статье. Там в комментах указана функция print_r($arResult); через нее вы можете получить текущий вывод всех данных в конкретном разделе и выбрать оттуда данные о родительском и дочерних разделах. И на основе этих данных модифицировать код
      1. Спасибо за совет. Попробую на днях. Хотя для своей задачи нашел уже готовое решение через файл result_modifier.php. В него вставил код: $arSection){ // получаем значение пользовательского поля у каждого раздела $arUF = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("IBLOCK_3_SECTION",$arSection['ID'],"UF_MY_FIELD"); if($arUF["UF_MY_FIELD"]["VALUE"] != ""){ $arResult["SECTIONS"][$key]["UF_MY_FIELD"] = $arUF["UF_MY_FIELD"]["VALUE"]; } } ?> и для вывода в шаблоне: <li id="GetEditAreaId($arSection['ID']);?>"> <a href="/"><?=$arSection["NAME"]." ".$arSection["UF_MY_FIELD"].""?> ()
  3. Дякую за статтю. З Бітрікс знайомий 2 дні. Потрібно було вивести дані додаткових полів розділів інфоблока. ID розділа відповідно міняється динамічно, як його визначити не знав. Ці два рядки все розтавили на свої місця. А саме те що масив $arResult, як я зрозумів заповнюється, можна сказати автоматично. І його можна вивести через print_r. // $arParams["IBLOCK_ID"] - у вас может быть получением ID инфоблока другим способом // $arResult["SECTION"]["ID"] - и ID раздела тоже, проверяйте через print_r($arResult); Супер. Дякую.

Ответить

Ваш адрес почты не будет опубликован

Вы можете использовать данные HTML теги и аттрибуты: <a href=""> <abbr> <acronym> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>