Ir al contenido

Craft CMS

El Wink Craft CMS Plugin integra el inventario de viajes de Wink en Craft 5 mediante funciones Twig 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. Instale vía Composer:
    Ventana de terminal
    composer require wink2travel/craft-wink
  2. Active el plugin en el Panel de Control en Configuración → Plugins, o vía CLI:
    Ventana de terminal
    php craft plugin/install wink
  3. Vaya a Configuración → Wink en el Panel de Control.
  4. Ingrese su Client ID y Client Secret, seleccione su entorno y haga clic en Guardar. Vaya a Applications para obtener sus credenciales.

Una vez configurado, llame a las funciones Twig de Wink en cualquier parte de sus plantillas:

{# Renderizar una cuadrícula de hoteles #}
{{ winkContent('HOTEL', entry.winkLayoutId) }}
{# Barra de búsqueda de destinos #}
{{ winkLookup() }}
{# Botón selector de itinerarios #}
{{ 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 itinerarios
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 del carrito

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

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

En su plantilla, pase el valor del campo a winkContent():

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