Skip to content

Craft CMS

Wink Craft CMS Plugin интегрира Wink travel инвентар в Craft 5 чрез Twig шаблонни функции и персонализиран тип поле за редактора на съдържание. Редакторите могат да изберат конкретен Wink layout от падащо меню директно в редактора на записите.

  • 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 към всяка секция, за да дадете на редакторите падащо меню с всички налични layout-и от вашия Wink акаунт:

  1. Отидете на Settings → Fields → New Field.
  2. Задайте Field Type на Wink Layout.
  3. Добавете полето към полето за оформление на вашия тип запис.
  4. Редакторите вече могат да избират layout директно в редактора на записите — без копиране и поставяне на ID-та.

В шаблона си подайте стойността на полето към winkContent():

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