В ЛК присутствует возможность интеграции с внешними сервисами посредством встраивания iframe. Для этого используется виджет container.
Предварительно следует настроить $server_client в соответствии с инструкцией: Расширение стандартной функциональности для переопределения стандартных конфигурационных файлов.
Создание страницы с интегрированным сервисом
Создайте файл $server_client/widgets/container.yml со следующим содержанием:
container:
online_shop: # ключ сервиса (произвольный)
template: widgets/container/iframe
src: "http://example.com" # URL для iframe
css_class: full-size # растягивает фрейм на всю страницу
tech_support: # можно указать несколько сервисов
# здесь используется пользовательский JST-шаблон,
# который находится в $server_client/assets/tempaltes/widgets/container/custom_template
template: widgets/container/custom_template
custom_option: some value # произвольные опции, передаваемые в шаблон
Для шаблона widgets/container/iframe доступны следующие опции: src (URL фрейма), css_class (список css-классов), width (ширина), height (высота).
Интегрированный сервис будет доступен в ЛК по ссылке вида /external/ключ_сервиса, напр. /external/online_shop. Разместить эту ссылку можно, например, с помощью виджетов "баннер" или "Навигационные ссылки (NavigationLinks)".
Создание пользовательских шаблонов
Интеграция в shortcut
Также поддерживается интеграция виджетов container в shortcut'ы. Для этого существует специальный shortcut - container. Он определяется в файле $server_client/widgets/shortcuts.yml так же, как и другие shortcut'ы:
shortcuts:
...
container:
weather: # ключ, соответствующий ключу сервиса в widgets.yml
some_option: value # опции shortcut'а
Затем shortcut добавляется на стену (shortcuts_wall) в любое подходящее место через файл $server_client/widgets/shortcuts_wall.yml:
shortcuts_wall:
...
- row: 2 # строка
col: 3 # столбец
type: container
key: weather