Битрикс — как добавить кнопку на странице пользователя

Добавляем кнопку в админке битрикса.

Как добавить кнопку Авторизации в Битриксе на D7?

До обновлений, была актуальна задача, добавить администраторам функционал авторизации за любого пользователя.
Зачем это нужно? Например, можно посмотреть всю историю заказов, а также протестировать доступы для контент-менеджера. Делалось это так:

Bitrix\Main\EventManager::getInstance()->addEventHandler('main', 'OnAdminContextMenuShow', function(&$arItems) {
   $request = Bitrix\Main\Context::getCurrent()->getRequest();
   $userId = intval($request->getQuery('ID'));
   if($request->getRequestedPage() === '/bitrix/admin/user_edit.php' && $userId > 0) {
      $arAuthBtn = array(
         "TEXT" => "Авторизоваться",
         "LINK" => "/bitrix/admin/user_admin.php?ID=$userId&action=authorize&sessid=".bitrix_sessid(),
         "ICON" => "",
         "TITLE" => "Авторизоваться под текущим пользователем"
      );
      $arItems[] = $arAuthBtn;
   }
});

Данный код добавляли в init.php. Однако сейчас эта кнопка есть «из коробки». Из примера выше, видно, как мы добавляем кнопку на странице /bitrix/admin/user_edit.php, и если есть параметр $userId.
А дальше всё просто TEXT, LINK, ICON, TITLE

Вы можете добавить свои собственные кнопки в админке Битрикса со своей логикой:

Bitrix\Main\EventManager::getInstance()->addEventHandler('main', 'OnAdminContextMenuShow', function(&$arItems) {
   $request = Bitrix\Main\Context::getCurrent()->getRequest();
   $userId = intval($request->getQuery('ID'));
   if($request->getRequestedPage() === '/bitrix/admin/user_edit.php' && $userId > 0) {
      $arAuthBtn = array(
         "TEXT" => "Искать в Гугле",
         "LINK" => "https://www.google.com/search?client=firefox-b-d&q=".$userId,
         "ICON" => "btn_delete",
         "TITLE" => "Поиск"
      );
      $arItems[] = $arAuthBtn;
   }
});

Данный код ищет в гугле userId. Согласен, пример так себе 🙂 Но, вы можете по айди пользователя вытащить имя и фамилию. А вот «ICON» => «btn_delete» — добавит нашей кнопке id=»btn-delete», к которой можно добавить иконку.

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

- Создание сайтов на 1С-Битрикс любой сложности
- Вёрстка макетов Figma, Photoshop, Zeplin
- Поддержка проектов на Битриксе
- Разработка нового функционала для сайта
- Парсинг данных
- Выгрузка \ Загрузка файлов в формате XML, YML, XLS, XLSX, CSV, JSON
- Интеграция по API со сторонними сервисами
и многое другое

E-mail: dmitriyribka@gmail.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *