В ЛК присутствует возможность интеграции с внешними сервисами посредством встраивания 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 # растягивает фрейм на всю страницу weather: # можно указать несколько сервисов # здесь используется пользовательский JST-шаблон, # который находится в $server_client/assets/tempaltes/widgets/container/weather template: widgets/container/weather 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