Перейти к содержимому

Craft CMS

Плагин Wink Craft CMS интегрирует инвентарь Wink для путешествий в Craft 5 через функции Twig и пользовательский тип поля для редактора контента. Редакторы могут выбрать конкретный макет Wink из выпадающего списка прямо в редакторе записи.

  • Craft CMS 5.x
  • PHP 8.1+
  • Composer
  1. Установите через Composer:
    Окно терминала
    composer require wink2travel/craft-wink
  2. Активируйте плагин в Панели управления в разделе Настройки → Плагины или через CLI:
    Окно терминала
    php craft plugin/install wink
  3. Перейдите в Настройки → Wink в Панели управления.
  4. Введите ваш Client ID и Client Secret, выберите окружение и нажмите Сохранить. Перейдите в Applications, чтобы получить ваши учетные данные.

После настройки вызывайте функции Wink Twig в любом месте ваших шаблонов:

{# Отобразить сетку отелей #}
{{ winkContent('HOTEL', entry.winkLayoutId) }}
{# Строка поиска направления #}
{{ winkLookup() }}
{# Кнопка выбора маршрута #}
{{ winkSearch() }}
{# Кнопка пользовательского аккаунта #}
{{ winkAccount() }}

Функция winkContent() автоматически вставляет <wink-app-loader> при первом вызове на странице.

ФункцияВыводОписание
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:

  1. Перейдите в Настройки → Поля → Новое поле.
  2. Установите Тип поля на Wink Layout.
  3. Добавьте поле в макет полей вашего типа записи.
  4. Теперь редакторы могут выбирать макет прямо в редакторе записи — без копирования и вставки ID.

В вашем шаблоне передайте значение поля в winkContent():

{{ winkContent(entry.winkLayout.type, entry.winkLayout.id) }}