Наиболее эффективным способом кастомизации bitrix24 является расширение существующего функционала в момент выполнения какого-либо события. Данный сниппет поможет подгрузить штатные или собственные расширения при открытии определенной страницы.
1. Регистрируем обработчик события:
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler("main", "OnEpilog", [
"\\Aclips\\Module\\Handler",
"loadCustomExtension"
]
);
2. Описываем обработчик события
<?php
namespace Aclips\Module;
use Bitrix\Main\UI\Extension;
class Handler
{
public static function loadCustomExtension()
{
global $APPLICATION;
// Получение текущей директории
$currentDirectory = $APPLICATION->getCurDir();
// Проверяем, что находимся на странице просмотра элемента контакта CRM
if (mb_strpos($currentDirectory, '/crm/contact/details/') !== false) {
// Подгружаем js расширение
Extension::load('aclips.custom_js_extension');
}
}
}Таким образом, каждый раз при открытии страницы просмотра контактов CRM будет загружаться расширение aclips.custom_js_extension.