Ir al contenido

Craft CMS

El Wink Craft CMS Plugin integra el inventario de viajes de Wink en Craft 5 mediante funciones Twig para plantillas y un tipo de campo personalizado para el editor de contenido. Los editores pueden seleccionar un diseño específico de Wink desde un menú desplegable directamente en el editor de entradas.

  • Craft CMS 5.x
  • PHP 8.1+
  • Composer
  1. Instala vía Composer:
    Ventana de terminal
    composer require wink2travel/craft-wink
  2. Activa el plugin en el Panel de Control en Configuración → Plugins, o vía CLI:
    Ventana de terminal
    php craft plugin/install wink
  3. Ve a Configuración → Wink en el Panel de Control.
  4. Ingresa tu Client ID y Client Secret, selecciona tu entorno y haz clic en Guardar. Ve a Applications para obtener tus credenciales.

Una vez configurado, llama a las funciones Twig de Wink en cualquier parte de tus plantillas:

{# Renderizar una cuadrícula de hoteles #}
{{ winkContent('HOTEL', entry.winkLayoutId) }}
{# Barra de búsqueda de destinos #}
{{ winkLookup() }}
{# Botón selector de itinerario #}
{{ winkSearch() }}
{# Botón de cuenta de usuario #}
{{ winkAccount() }}

La función winkContent() inyecta automáticamente <wink-app-loader> la primera vez que se llama en una página.

FunciónSalidaDescripción
winkContent(layout, id)<wink-content-loader>Tarjetas de hotel, cuadrículas, mapas
winkLookup()<wink-lookup>Barra de búsqueda de destinos
winkSearch()<wink-search-button>Botón selector de itinerario
winkAccount()<wink-account-button>Inicio de sesión / cuenta de usuario
winkItinerary()<wink-itinerary-button>Botón de estado del itinerario
winkShoppingCart()<wink-shopping-cart-button>Botón de carrito

Agrega un campo Wink Layout a cualquier sección para que los editores tengan un menú desplegable con todos los diseños disponibles de tu cuenta Wink:

  1. Ve a Configuración → Campos → Nuevo Campo.
  2. Establece Tipo de Campo en Wink Layout.
  3. Agrega el campo al diseño de campos de tu tipo de entrada.
  4. Los editores ahora pueden elegir un diseño directamente en el editor de entradas — sin copiar y pegar IDs.

En tu plantilla, pasa el valor del campo a winkContent():

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