Как постить новость в живую ленту Битрикс коробки при создании элемента инфоблока новости?

Для того чтобы постить новость в живую ленту Битрикс24 при создании элемента инфоблока новости, необходимо провести следующие шаги:

1. Установите и настройте модуль "Живая лента" в вашем Битрикс24. Для этого перейдите в раздел "Настройки - Модули" и найдите модуль "Живая лента". Установите и активируйте его.

2. Создайте элемент инфоблока новости. Перейдите в раздел "Типы инфоблоков" и создайте тип инфоблока "Новости". Затем создайте сам инфоблок новости и добавьте в него необходимые поля.

3. Настройте событие добавления/обновления элемента инфоблока. Чтобы постить новость в живую ленту при создании нового элемента инфоблока, необходимо добавить соответствующий обработчик на событие. Для этого перейдите в раздел "Настройки - Сообщения и оповещения" и найдите "События - События модулей". В списке событий найдите событие "main", выберите его и нажмите "Изменить". В появившемся окне нажмите "Добавить обработчик" и выберите тип модуля "iblock", а в поле "Класс обработчика" укажите путь к файлу с вашим скриптом обработчика. Например, "/bitrix/php_interface/init.php".

4. Напишите скрипт обработчика события. В этом скрипте необходимо определить параметры для постинга новости в живую ленту и передать их функции модуля "Живая лента". Ниже приведен пример такого скрипта:

<?php

AddEventHandler("iblock", "OnAfterIBlockElementAdd", "OnAfterIBlockElementAddHandler");
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", "OnAfterIBlockElementAddHandler");

function OnAfterIBlockElementAddHandler($arFields)
{
    if ($arFields["IBLOCK_ID"] == YOUR_NEWS_IBLOCK_ID) // замените YOUR_NEWS_IBLOCK_ID на ID вашего инфоблока новостей
    {
        // Получаем данные новости
        $newsId = $arFields["ID"];
        $newsTitle = $arFields["NAME"];
        $newsText = $arFields["DETAIL_TEXT"];

        // Добавляем новость в живую ленту
        CModule::IncludeModule("socialnetwork");
        $arFields = Array(
            "ENTITY_TYPE" => "IBLOCK",
            "ENTITY_ID" => YOUR_NEWS_IBLOCK_ID,
            "EVENT_ID" => "news", // замените "news" на нужный вам тип события
            "EVENT_TEXT" => $newsTitle,
            "EVENT_TEXT_1" => $newsText,
            "USER_ID" => $USER->GetID(),
        );
        CSocNetLiveFeed::Add($arFields);
    }
}

В данном примере при создании или обновлении элемента инфоблока новостей вызывается функция OnAfterIBlockElementAddHandler, которая проверяет, что это элемент из нужного инфоблока, получает данные новости и добавляет их в живую ленту с помощью функции CSocNetLiveFeed::Add().

Обратите внимание, что в примере используется функция CModule::IncludeModule("socialnetwork"), которая подключает модуль "Социальная сеть". Если вы пишете скрипт не внутри модуля, убедитесь, что модуль "Социальная сеть" установлен и активирован.

Таким образом, после выполнения всех этих шагов, при создании нового элемента инфоблока новости, новость будет автоматически поститься в живую ленту Битрикс24.