Как это работает в картинках:
[spoiler]
0. Начальные условия.
Установленный битрикс 8.6.0 с модулями контроллера, инфоблоков и бизнес процессов.
Подключенный сайт 8.6.0 с модулем инфоблоков.
И на контроллере и на подключенных сайтах в настройках модуля инфоблоков (по крайней мере на время) надо установить флажок отображения кода загрузки из внешних источников.
1. Настройка инфоблока на контроллере.
Во-первых надо указать внешний код - именно по нему будет выполняться синхронизация элементов.
Во-вторых инфоблок надо перевести в режим бизнеспроцессов.
И нажать кнопку "Применить".
На появившейся вкладке "Шаблоны бизнес-процессов" надо отметить автозапуск БП синхронизации и сохранить изменения настроек инфоблока.
2. На подключенном сайте надо создать инфоблок с таким же значением внешнего кода. Разместить и настроить в публичной части компонент отображения новостей.
Кроме привязки к сайту, названия и внешнего кода
необходимо настроить и права доступа к инфоблоку.
Создаем страницу
Размещаем настраиваем на ней компонент news.
3. На сайте контроллера добавляем новость
4. На подключенном сайте нажав на "Обновить" видим новость.
Предполагается только наличие главного модуля и модуля инфоблоков.
Бизнес позволяет делать это автоматически штатным функционалом, в младших редакциях делаем вручную.
Возможна ли такая модель двухсторонней синхронизции?
На практике надо скопировать controllerremoteiblockactivity в скажем controlleruploadiblockactivity.
Чутка его поправить (5-10) строк кода.
И в дизайнере "нарисовать" БП с участием этой активити.
Я могу оплатить своему штатному программеру 2кРубля за пару часов работы, но... опять костыль, который в один прекрасный момент после обновлений станет не нужным.
Можете решить на этой неделе "будет - не будет". Пока не жмет. Если в план разработки встанет - подождем, если скажете, что ждать бессмысленно - будем костылить.
Если это и будет реализовано, то ой как не скоро.
Правда пока похоже ограничимся RSS лентой благо в КП есть функционал...
В том числе и выполнение ее немедленно или через очередь.
Ошибка сохранения
Или создайте обращение в ТП (с админским доступом к админке контроллера) с категорией "Платформа приложений".
Оффтоп: FF под KDE4?
как можно подключить (где взять) шаблоны для обновления инфоблоков?
1 Идем в настройки инфоблока.
Удаляем все связанные с ним БП (вкладка Шаблоны бизнес-процессов, ссылка Список шаблонов бизнес-процессов).
2 Отключаем БП для иблока (Участвует в документообороте или бизнес процессах - нет + кнопка Применить)
3 Включаем БП для иблока (Участвует в документообороте или бизнес процессах - бизнес процессы + кнопка Применить)
Еще вопрос - планируется ли штатный БП для забора веб-форм (результатов) с сайтов?
Интересная мысль и может быть поставлена в план. Бум думать.
Есть два инфоблока с на КП: первый с элементами, которые нужно будет реплицировать на подчиненный сайт, и эти же элементы привязаны к разделам второго инфоблока (свойство привязки к разделам инфоблока). Чтобы было понятнее - Элементы первого инфоблока - Семинары, у них есть привязка к городам, в которых они проходят. Города - это разделы во втором инфоблоке (элементы второго инфоблока это конкретные адреса в городе, но это не важно). Так вот - семинары добавляются на контроллере и должны быть реплицированы на подчиненный сайт. На подчиненном сайте так же есть два инфоблока с семинарами и городами. Так вот, вопрос - сам семинар, добавленный на контроллере, понятное дело появится на подчиненном сайте, но что будет с привязкой этого элемента ко второму инфоблоку, ведь на подчиненном сайте ID инфоблока с городами да и айдишники самих разделов (Городов) не такие как на контроллере...
Возможно ли сделать так, чтобы семинары не теряли привязки на подчиненном сайте?
Спасибо заранее...
Выполните xml экспорт городов на контроллере и импортируйте этот файл на подчиненном.
Нам нужно сделать, чтобы при снятии публикации элемента он автоматически удалялся или снимался с публикации на подчиненных сайтах. Это возможно?
Снятие с публикации не тестировал, но оно и не должно работать без доработки с нашей стороны.
На удаление элемента мы пока не умеем запускать БП.
PS в принципе можно написать обработсчик события OnBeforeElementDelete запускающий процесс удаления на подключенных сайтах через CControllerMember::RunCommandWithLog например.