Craft CMS
De Wink Craft CMS Plugin integreert Wink reisvoorraad in Craft 5 via Twig-templatefuncties en een aangepast veldtype voor de content editor. Editors kunnen direct in de entry editor een specifieke Wink-layout kiezen uit een dropdown.
wink-travel/wink-craft-plugin op GitHub Broncode, ontwikkelaarsinstallatiehandleiding en instructies voor bijdragen.
Vereisten
Section titled “Vereisten”- Craft CMS 5.x
- PHP 8.1+
- Composer
Installeren
Section titled “Installeren”- Installeer via Composer:
Terminal window composer require wink2travel/craft-wink - Activeer de plugin in het Control Panel via Instellingen → Plugins, of via CLI:
Terminal window php craft plugin/install wink - Ga naar Instellingen → Wink in het Control Panel.
- Voer je Client ID en Client Secret in, selecteer je omgeving en klik op Opslaan. Ga naar Applications om je gegevens op te halen.
Gebruik in Twig-templates
Section titled “Gebruik in Twig-templates”Zodra geconfigureerd, roep je Wink Twig-functies overal in je templates aan:
{# Render een hotelrooster #}{{ winkContent('HOTEL', entry.winkLayoutId) }}
{# Bestemmingszoekbalk #}{{ winkLookup() }}
{# Reisplanner-knop #}{{ winkSearch() }}
{# Gebruikersaccount-knop #}{{ winkAccount() }}De functie winkContent() voegt automatisch <wink-app-loader> toe bij de eerste keer dat deze op een pagina wordt aangeroepen.
Beschikbare Twig-functies
Section titled “Beschikbare Twig-functies”| Functie | Output | Beschrijving |
|---|---|---|
winkContent(layout, id) | <wink-content-loader> | Hotelkaarten, roosters, kaarten |
winkLookup() | <wink-lookup> | Bestemmingszoekbalk |
winkSearch() | <wink-search-button> | Reisplanner-knop |
winkAccount() | <wink-account-button> | Inloggen / gebruikersaccount |
winkItinerary() | <wink-itinerary-button> | Reisstatus-knop |
winkShoppingCart() | <wink-shopping-cart-button> | Winkelwagenknop |
Wink Layout veldtype
Section titled “Wink Layout veldtype”Voeg een Wink Layout veld toe aan elke sectie om editors een dropdown te geven met alle beschikbare layouts uit je Wink-account:
- Ga naar Instellingen → Velden → Nieuw veld.
- Stel Veldtype in op Wink Layout.
- Voeg het veld toe aan het veldlayout van je entrytype.
- Editors kunnen nu direct in de entry editor een layout kiezen — geen ID’s meer kopiëren en plakken.
Geef in je template de veldwaarde door aan winkContent():
{{ winkContent(entry.winkLayout.type, entry.winkLayout.id) }}