Добавление и вывод согласия - amel-post/bitrix.help GitHub Wiki

\Bitrix\Main\UserConsent\Consent::addByContext(1, "feedback", IBLOCK_ID_FEEDBACK . '/' . $itemId, [
    'URL' => htmlspecialcharsbx($_REQUEST['URL'])
]);

AddEventHandler("main", "OnUserConsentProviderList", Array("MainEventHandlers", 'OnUserConsentProviderListHandler'));
class MainEventHandlers
{
    function OnUserConsentProviderListHandler($data)
    {
        $parameters = array(
            array(
                'CODE' => 'feedback',
                'NAME' => 'Форма обратной связи',
                'DATA' => function ($params = null)
                {
                    $elementData = explode('/', $params);
                    return array(
                        'NAME' => 'Форма #' . $elementData[1],
                        'URL' => sprintf('/bitrix/admin/iblock_element_edit.php?IBLOCK_ID=%s&type=feedback&ID=%s&lang=ru',
                            $elementData[0], $elementData[1])
                    );
                }
            )
        );

        return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $parameters, 'iblock');
    }
}