Структура
Общие сведения
Ссылка на страницу на сайте: https://stankin.ru/about/structure.
Реализация
Структура загружается каждые сутки через комбинацию агента Битрикс на стороне сайта stankin.ru (принимающая сторона) и REST-метода на стороне corp.stankin.ru (отдающая сторона).
| Компонент |
Комментарии |
| Агент загрузки данных |
- Настраивается на стороне сайта.
- Загрузка производится раз в сутки каждый день.
- Просмотр журнала по ссылке (в строке поиска должна быть вбита фраза: "Загрузка структуры с корпортала" и выбран пункт выпадающего списка "Событие").
- Реализация в директории:
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
Мониторить запуск агента первые 2-3 дня