Craft CMS
Плагин Wink Craft CMS интегрирует инвентарь Wink для путешествий в Craft 5 через функции Twig и пользовательский тип поля для редактора контента. Редакторы могут выбрать конкретный макет Wink из выпадающего списка прямо в редакторе записи.
wink-travel/wink-craft-plugin на GitHub Исходный код, руководство по настройке для разработчиков и инструкции по внесению вкладов.
Требования
Заголовок раздела «Требования»- Craft CMS 5.x
- PHP 8.1+
- Composer
Установка
Заголовок раздела «Установка»- Установите через Composer:
Окно терминала composer require wink2travel/craft-wink - Активируйте плагин в Панели управления в разделе Настройки → Плагины или через CLI:
Окно терминала php craft plugin/install wink - Перейдите в Настройки → Wink в Панели управления.
- Введите ваш Client ID и Client Secret, выберите окружение и нажмите Сохранить. Перейдите в Applications, чтобы получить ваши учетные данные.
Использование в Twig шаблонах
Заголовок раздела «Использование в Twig шаблонах»После настройки вызывайте функции Wink Twig в любом месте ваших шаблонов:
{# Отобразить сетку отелей #}{{ winkContent('HOTEL', entry.winkLayoutId) }}
{# Строка поиска направления #}{{ winkLookup() }}
{# Кнопка выбора маршрута #}{{ winkSearch() }}
{# Кнопка пользовательского аккаунта #}{{ winkAccount() }}Функция winkContent() автоматически вставляет <wink-app-loader> при первом вызове на странице.
Доступные функции Twig
Заголовок раздела «Доступные функции Twig»| Функция | Вывод | Описание |
|---|---|---|
winkContent(layout, id) | <wink-content-loader> | Карточки отелей, сетки, карты |
winkLookup() | <wink-lookup> | Строка поиска направления |
winkSearch() | <wink-search-button> | Кнопка выбора маршрута |
winkAccount() | <wink-account-button> | Вход / пользовательский аккаунт |
winkItinerary() | <wink-itinerary-button> | Кнопка статуса маршрута |
winkShoppingCart() | <wink-shopping-cart-button> | Кнопка корзины |
Тип поля Wink Layout
Заголовок раздела «Тип поля Wink Layout»Добавьте поле Wink Layout в любой раздел, чтобы дать редакторам выпадающий список всех доступных макетов из вашей учетной записи Wink:
- Перейдите в Настройки → Поля → Новое поле.
- Установите Тип поля на Wink Layout.
- Добавьте поле в макет полей вашего типа записи.
- Теперь редакторы могут выбирать макет прямо в редакторе записи — без копирования и вставки ID.
В вашем шаблоне передайте значение поля в winkContent():
{{ winkContent(entry.winkLayout.type, entry.winkLayout.id) }}