Файл может содержать в себе инициализацию обработчиков событий, подключение дополнительных функций - общие для всех сайтов. В этом случае он располагается по пути /bitrix/php_interface/init.php.
Для каждого отдельного сайта может быть свой аналогичный файл. В этом случае он располагается по пути /bitrix/php_interface/ID сайта/init.php.
Если есть оба файла, то система подключит оба, но первым при этом будет файл /bitrix/php_interface/init.php.
Начиная с версии 14.0.1 рекомендуется размещать этот файл в папке /local по пути /local/php_interface/ID сайта/init.php. Файл /bitrix/php_interface/init.php при этом перестаёт работать.
Для каждого отдельного сайта может быть свой аналогичный файл. В этом случае он располагается по пути /bitrix/php_interface/ID сайта/init.php.
Если есть оба файла, то система подключит оба, но первым при этом будет файл /bitrix/php_interface/init.php.
Начиная с версии 14.0.1 рекомендуется размещать этот файл в папке /local по пути /local/php_interface/ID сайта/init.php. Файл /bitrix/php_interface/init.php при этом перестаёт работать.
Битрикс по умолчанию юзает версию jquery 1.8, чтобы заменить ее на любую другую нужно произвести ее перерегистрацию.
Для этого в файле Init.php добавляется следующий обработчик:
далее в шаблоне сайта или в каком либо компоненте:
Для этого в файле Init.php добавляется следующий обработчик:
AddEventHandler("main", "OnPageStart", "registerJqueryHandler"); function registerJqueryHandler() { //Hack: when init first extension - bitrix register standart extensions $emptyHack = [ 'css' => "", 'skip_core' => true, ]; \CJSCore::RegisterExt('emptyHack', $emptyHack); \CJSCore::Init('emptyHack'); $arJSLib = array( 'js' => '/bitrix/js/main/jquery/jquery-1.12.4.min.js', 'skip_core' => true ); \CJSCore::RegisterExt('jquery', $arJSLib); }emptyHack — для обхода некого битрикс бага касательно первого CJSCore::Init(); /bitrix/js/main/jquery/jquery-1.12.4.min.js — это путь до jquery файла с новой версией загруженного на сервер или с googleapis;
далее в шаблоне сайта или в каком либо компоненте:
CJSCore::Init('jquery');и больше не надо нигде никаких:
$APPLICATION->AddHeadScript(SITE_TEMPLATE_PATH . '/js/jquery-1.12.4.min.js'); //или <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
Создать файл: /bitrix/php_interface/include/add_top_panel.php
Содержимое:
Из непровереного, можно подключать языковые файлы
Путь к меню: /bitrix/php_interface/include/lang/язык/add_top_panel.php
Подключаем так:
Содержимое:
if ($USER->IsAdmin()){ $arMenu = array(); $arMenu[] = array( "TEXT" => 'Тестовая страница', "TITLE" => '', "ICON" => "panel-edit-text", "ACTION" => "jsUtils.Redirect(arguments, '/test/')", "DEFAULT" => false, ); $arMenu[] = array('SEPARATOR' => "Y"); // разделитель $arMenu[] = array( "TEXT" => 'Тестовая страница 2', "TITLE" => '', "ICON" => "panel-edit-text", "ACTION" => "jsUtils.Redirect(arguments, '/test_2/')", "DEFAULT" => false, ); $arMenu[] = array('SEPARATOR' => "Y"); $APPLICATION->AddPanelButton(array( "HREF" => '', "ICON" => "bx-panel-components-icon", "ALT" => 'Дополнительная панель для администратора', "TEXT" => 'Админка', "MAIN_SORT" => 1700, "SORT" => 100, "MENU" => $arMenu, )); }Если не делать праверку на администратора то пустую админ-панель только с своим меню будут видеть все пользователи
Из непровереного, можно подключать языковые файлы
Путь к меню: /bitrix/php_interface/include/lang/язык/add_top_panel.php
Подключаем так:
__IncludeLang($_SERVER['DOCUMENT_ROOT'] . '/bitrix/php_interface/include/lang/' . LANGUAGE_ID . '/' . basename(__FILE__));
Скрыть элементы главного меню в админпанели или Стилизация админки
Создать файл: /bitrix/php_interface/admin_header.php
Содержимое:
Создать файл: /bitrix/php_interface/admin_header.php
Содержимое:
<style> .adm-main-menu-item:nth-child(3), .adm-main-menu-item:nth-child(6), .adm-main-menu-item:nth-child(10){ display:none !important ;} </style>
Находясь в админке сайта зайдите на страницу «Настройки» → «Инструменты» → «Командная PHP-строка».
В командной строке выполните следующие команды:
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/backup.php");
var_dump(CPasswordStorage::Get('dump_temporary_cache'));