Битрикс выбрать основной раздел и несколько других в товаре

Разбираемся с довольно не очевидной штукой, как при помощи скрипта выбрать у товара несколько разделов, и назначить ему Основной раздел.

Как в Битрикс API назначить несколько разделов и выбрать основной

Возможно некоторые из вас спросят, зачем это вообще может пригодится? Ответ простой — привет сторонним выгрузкам и программе 1С :).

Основной раздел — зачем он нужен в Битриксе? Если товар находится сразу в нескольких разделах, и доступен не по одному, также, для корректных хлебных крошек сайта.

Эту доработку просили очень давно, и наконец-то она есть! Теперь разберемся, что делать нам простым смертным, которых хлебом не корми дай написать какой-то полезный скрипт :).

Раньше, при добавлении нового товара или, если говорить «по-битриксовски», элемента, мы писали что-то вроде:

Где, в переменной $SECTION_ID мы и передавали ID раздела.

В случае если включена опция «разрешить выбирать основной раздел» и элемент уже создан и его нужно обновлять, ситуация выглядит немного иначе.

Использовать будем $res = $el->Update:

Раздел с ID 141 будет выбран как основной. У товара будет еще дополнительно выбран раздел с ID 113.
Все остальные разделы не будут отмечены, даже если были.

Приблизительный вариант скрипта:

Тут у товаров выбираются другие «основные разделы», что поможет вашим данным выглядеть красиво и правильно. Если же такой скрипт нужно запускать постоянно, то данную проблему лучше решать другим способом.

Внимание! Все эксперименты проводите на тестовой базе данных, рабочий сайт заказчика это очень важно. Успехов!

Если вам нужна разработка на Битриксе с нуля, обращайтесь

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.com/dmitriy/.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *