Выбор основного раздела для элемента инфоблока в 1С-Битрикс

Просмотров: 519

Проблема: при привязке элемента инфоблока к нескольким разделам возникают дубли его детальной страницы, в зависимости от раздела, из которого был осуществлен переход.

Убираем дубликаты детального просмотра элемента

Решение проблемы дублей проста: зайдите в настройки компонента, который выводит элементы (например, "Каталог") и включите следующие параметры:

  • Использовать основной раздел для показа элемента.
  • Строгая проверка раздела для детального показа элемента.
основной раздел для элемента инфоблока

После этого товар будет отображаться по одному адресу, независимо от раздела, из которого осуществлен переход.

Однако возникает новая проблема: мы не можем контролировать, какой раздел будет основным, он задается однократно и остается неизменным. Но хотелось бы иметь возможность указывать такой раздел самостоятельно. Это необходимо для контролируемости URL и для генерации хлебных крошек.

Включаем возможность выбора основного раздела

Эта возможность уже есть в системе. Перейдите в настройки инфоблока и на вкладке "Поля" включите опцию Разрешить выбор основного раздела для привязки.

2.jpg

Затем откройте на редактирование любой элемент инфоблока, перейдите в настройки полей и вынесите эту настройку на видное место. Например, на вкладку "Разделы", чтобы все, что связано с разделами, было в одном месте.

3.jpg

Теперь можно выбирать основной раздел и указывать, в каком разделе будет отображаться элемент даже при переходе пользователя из другого раздела.

4.jpg
Михаил Базаров 27.11.2023
Если работаете через API, например методами методы Add и Update класса CIblockElement
Что бы задать основной раздел используйте IBLOCK_SECTION_ID - это основной раздел
и массив SECTION_ID  - это остальные (дополнительные) разделы элемента