Проблема: при привязке элемента инфоблока к нескольким разделам возникают дубли его детальной страницы, в зависимости от раздела, из которого был осуществлен переход.
Убираем дубликаты детального просмотра элемента
Решение проблемы дублей проста: зайдите в настройки компонента, который выводит элементы (например, "Каталог") и включите следующие параметры:
- Использовать основной раздел для показа элемента.
- Строгая проверка раздела для детального показа элемента.
После этого товар будет отображаться по одному адресу, независимо от раздела, из которого осуществлен переход.
Однако возникает новая проблема: мы не можем контролировать, какой раздел будет основным, он задается однократно и остается неизменным. Но хотелось бы иметь возможность указывать такой раздел самостоятельно. Это необходимо для контролируемости URL и для генерации хлебных крошек.
Включаем возможность выбора основного раздела
Эта возможность уже есть в системе. Перейдите в настройки инфоблока и на вкладке "Поля" включите опцию Разрешить выбор основного раздела для привязки.
Затем откройте на редактирование любой элемент инфоблока, перейдите в настройки полей и вынесите эту настройку на видное место. Например, на вкладку "Разделы", чтобы все, что связано с разделами, было в одном месте.
Теперь можно выбирать основной раздел и указывать, в каком разделе будет отображаться элемент даже при переходе пользователя из другого раздела.
Что бы задать основной раздел используйте IBLOCK_SECTION_ID - это основной раздел
и массив SECTION_ID - это остальные (дополнительные) разделы элемента