Vorchun
@Vorchun

Как в Битриксе один товар разместить на двух сайтах?

Ситуация: есть сайт на Битриксе (интернет-магазин) с небольшим каталогом. Планируется там же сделать второй сайт с каталогом, но с другими рубриками. Т.е. два разных сайта под разными адресами, но внутри одной установки.

Необходимо: на каждом сайте сделать свой уникальный рубрикатор. Список товаров общий (сейчас он уже есть на первом сайте).

Как привязать товар к двум рубрикаторам? В какую сторону смотреть?
  • Вопрос задан
  • 3128 просмотров
Пригласить эксперта
Ответы на вопрос 4
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Так лучше конечно не делать, но у разделов можно завести кастомное св-во (например, UF_SITE) в котором хранить привязку к сайту и в шаблонах компонентов выводить только те разделы, у которых есть привязка к текущему сайту.
Ответ написан
Алексей Емельянов уже предложил нормальное решение, но мне кажется оно не очень будет удобно с точки зрения управления.

Я бы сделал 2 корневых раздела - один для одного сайта, другой для другого, соответственно, а в них уже бы разместил разделы рубрикатора. Но в реализации это будет сложнее.

P.S.
Если вам требуется два разных рубрикатора, у вас что-то не так с классификацией товаров.
Ответ написан
Комментировать
@7rows
Frontend Разработчик / Vue / JS / TS / CSS
Если у вас товар где-то учитывается, и выгружается, то самое лучшее, это через пользовательские свойства.

Если товар не ведется учетом, то создайте второй инфоблок и продублируйте все что вам нужно. Это решение для тех, кто не знает даже азов Битрикса
Ответ написан
Комментировать
@niksamokhvalov
Веб-разработчик
В любом случае потребуется кастомизация компонентов каталога (если, конечно, вы на них делаете). Элементы ИБ могут привязываться к нескольким разделам, поэтому заниматься увеличением базы вдвое, как предлагают выше, не надо.

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

2. Корневые разделы ИБ создаются для конкретного сайта. Т. е. структура ИБ будет следующуя:
сайт 1
     умывальники
     унитазы
          золотые
          серебряные
сайт 2
     ящики
          металлические
          пластиковые
     коробки


3. Для разделов ИБ создайте свойство, в котором будет храниться идентификатор сайта.

4. В компоненты ко всем запросам в ИБ добавьте фильтр, что бы данные забирались только из секции для текущего сайта (в п. 3 мы добавили свойство для этого).

5. Поиск будет индексировать весь ИБ. Поэтому, вам нужно написать перехватчик события, который корректно распределит индексирование между сайтами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы