Перейти до вмісту

Craft CMS

Wink Craft CMS Plugin інтегрує інвентар Wink для подорожей у Craft 5 через функції Twig шаблонів та власний тип поля для редактора контенту. Редактори можуть вибрати конкретний макет Wink зі спадного списку безпосередньо в редакторі запису.

  • Craft CMS 5.x
  • PHP 8.1+
  • Composer
  1. Встановіть через Composer:
    Terminal window
    composer require wink2travel/craft-wink
  2. Активуйте плагін у Панелі керування в Settings → Plugins або через CLI:
    Terminal window
    php craft plugin/install wink
  3. Перейдіть у Settings → Wink у Панелі керування.
  4. Введіть ваш Client ID та Client Secret, виберіть середовище та натисніть Save. Перейдіть до Applications, щоб отримати свої облікові дані.

Використання у Twig шаблонах

Section titled “Використання у Twig шаблонах”

Після налаштування викликайте функції 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. Перейдіть у Settings → Fields → New Field.
  2. Встановіть Field Type на Wink Layout.
  3. Додайте поле до макету полів вашого типу запису.
  4. Тепер редактори можуть вибирати макет безпосередньо в редакторі запису — без копіювання ID.

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

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