Рассмотрим вставку виджета внутрь сторонней бэкэнд-формы и обращение к вставленному виджету из JS для подгрузки контента. На этом примере мы узнаем:
- что такое виджет в OctoberCMS, зачем он и как его сделать;
- как прикрепить виджет к контроллеру, определенному в другом плагине;
- как пользоваться ajax-фреймворком в OctoberCMS.
Виджет для бэк-энда OctoberCMS — это то же самое, что компонент для фронт-энда. То есть это отдельный блок логики и представления, который можно пихать где попало повторно использовать. Вообще, виджеты бывают трёх видов:
- Form Widget, то есть для использования в формах, для манипуляции данными моделей,
- Report Widget для вывода полезных данных на панель управления в бэк-энде,
- и просто Widget — для использования в любом контроллере бэк-энда. Например, Media Manager, красивый диалог для вставки медиа-файлов в текст, реализован в OctoberCMS как виджет.
В данной заметке мы будем делать ajax-диалог (который потом превратится в диалог выбора фотографий и вставки специального маркдаун-кода выбранной фотографии в текст).