Зацепило

Господи, хочу туда, где так. Там свет и чистота У нас это чуть короче:  1. «Непонятно — спроси. Промолчал — принял задачу».  2. «Видишь косяк — скажи. За ошибки не наказываем.» отсюда, комментарий хабра

Bitrix24: Гаджеты

Понадобилось как-то срочно сделать гаджет в проекте на Битрикс24, оставляю краткое описание, что за зверь такой - гаджет для корпоративного портала.
Гаджет – программный элемент, выполняющий функцию вывода определенных данных. Для отображения гаджетов используется компонент Рабочий стол (bitrix:desktop).

Создание собственного гаджета:
  • размещается в папке /local/gadgets/ (по-старому /bitrix/gadgets/);
Структура гаджета:
  • .description.php - файл описания:
$arDescription = Array (
      "NAME" => "Горящие вакансии", // имя гаджета
      "DESCRIPTION" => "Блок горящих вакансий для HR", // описание гаджета
      "ICON" => "", // иконка
      "GROUP" => Array("ID"=>"vacancy-gadgets"), // группа в списке гаджетов
);
  • .parameters.php - файл с настройками. Ключи PARAMETERS (параметры, которые будут выводиться в настройках компонента bitrix:desktop) и USER_PARAMETERS (настройки, которые может выставить конкретный пользователь);
$arParameters = Array(
      "PARAMETERS"=> Array(
         "IBLOCK_TYPE" => Array(
            "PARENT" => "BASE",
            "NAME" => GetMessage("GD_WORKFLOW_LIST_TYPE"),
            "TYPE" => "LIST",
            "VALUES" => $arTypes,
            "DEFAULT" => "news",
            "REFRESH" => "Y",
         ),
         "IBLOCK_ID" => Array(
            "PARENT" => "BASE",
            "NAME" => GetMessage("GD_WORKFLOW_LIST_ID"),
            "TYPE" => "LIST",
            "VALUES" => $arIBlocks,
            "DEFAULT" => '',
            "ADDITIONAL_VALUES" => "Y",
            "REFRESH" => "Y",
         ),
         "ELEMENT_COUNT" => array(
            "PARENT" => "BASE",
            "NAME" => GetMessage("GD_WORKFLOW_ELEMENT_COUNT"),
            "TYPE" => "STRING",
            "DEFAULT" => '5',
         ),
         "SITE_ID" => array(
            "PARENT" => "BASE",
            "NAME" => "test111",
            "TYPE" => "STRING",
            "DEFAULT" => $_REQUEST["src_site"],
            "HIDDEN" => 'Y',
         ),
      ),
      "USER_PARAMETERS"=> Array(
         "USER_STATUS_ID" => array(
            "PARENT" => "BASE",
            "NAME" => GetMessage("GD_WORKFLOW_STATUS_ID"),
            "TYPE" => "LIST",
            "VALUES" => $arStatus,
         ),
      ),
   );
  • index.php - исполняемый код гаджета;
  • языковые файлы в папке /lang/.
Пример

Сброс всех пользовательских настроек персонального рабочего стола:
  • "Настройки"-> "Настройки продукта"-> "Интерфейс"-> "Удаление" (для всех, кроме администраторов)

Комментарии

Популярные сообщения из этого блога

Как сдать первый экзамен Битрикс

Bitrix: Что делать, если вместо содержимого страницы белый экран

Bitrix: Проблема с xml импортом в существующий инфоблок