Перейти к основному контенту

Структура

Общие сведения

Ссылка на страницу на сайте: https://stankin.ru/about/structure.

Реализация

Структура загружается каждые сутки через комбинацию агента Битрикс на стороне сайта stankin.ru (принимающая сторона) и REST-метода на стороне corp.stankin.ru (отдающая сторона).

Компонент Комментарии
Агент загрузки данных
  • Настраивается на стороне сайта. В разделе агенты настроен с опцией "Функция агента": CronStructureService::fetchStructureFromCorp();
  • Загрузка производится раз в сутки каждый день.
  • Просмотр журнала по ссылке (в строке поиска должна быть вбита фраза: "Загрузка структуры с корпортала" и выбран пункт выпадающего списка "Событие").
  • Реализация в директории: local/agents/CronStructureService.
  • Особенности настройки агента: был добавлен local/php_interface/init.php с директивной включения файла автозагрузки local/php_interface/s1/autoload.php.
REST-метод
  • Отрабатывает на стороне корпортала.
  • REST-метод является собственной разработкой. Реализация в директории: local/rest/structure.
  • Техническая особенность: при получении данных через REST-метод необходимо передавать SEF-путь, указанный в компоненте, иначе ссылки на карточки руководителей не будут работать.
Компоненты Битрикс
  • Используются для отображения информации на сайте.
  • Реализация через комплексный компонент:
    • Родительский компонент: local/components/stankin/structure
    • Дерево подразделений: local/components/stankin/departments
    • Карточка пользователя: local/components/stankin/employee
  • Два режима работы компонента: данные берутся из БД Битрикс или из JSON-файла. Режим отображения данных из БД задумывался для сценария, при котором у сайта своя актуальная копия данных о подразделениях и сотрудниках, получаемая из шины. Вместо этого была реализована архитектура отображения данных на основании JSON-файла, загружаемого из корпортала, который выступает таким образом в роли источника данных.

Ручная синхронизация

При внесении изменений в корпортале можно запустить синхронизацию в ручном режиме в административной панели сайта.

Для запуска синхронизации необходимо нажать зеленую кнопку "Выполнить". Синхронизация выполняется мгновенно.

В случае, если PHP-строка пустая, необходимо вставить следующий код и нажать кнопку "Выполнить":

//title: Загрузка структуры с корпортала
include_once '/home/bitrix/www/local/agents/CronStructureService/CronStructureService.php';
CronStructureService::fetchStructureFromCorp();

Редактирование карточек руководителей

Сделать коммиты в Git и merge