Pular para o conteúdo

Craft CMS

O Wink Craft CMS Plugin integra o inventário de viagens Wink no Craft 5 através de funções Twig para templates e um tipo de campo personalizado para o editor de conteúdo. Os editores podem escolher um layout específico do Wink a partir de um menu dropdown diretamente no editor de entradas.

  • Craft CMS 5.x
  • PHP 8.1+
  • Composer
  1. Instale via Composer:
    Terminal window
    composer require wink2travel/craft-wink
  2. Ative o plugin no Painel de Controlo em Settings → Plugins, ou via CLI:
    Terminal window
    php craft plugin/install wink
  3. Vá a Settings → Wink no Painel de Controlo.
  4. Introduza o seu Client ID e Client Secret, selecione o seu ambiente e clique em Save. Vá a Applications para obter as suas credenciais.

Depois de configurado, chame as funções Twig do Wink em qualquer lugar dos seus templates:

{# Renderizar uma grelha de hotéis #}
{{ winkContent('HOTEL', entry.winkLayoutId) }}
{# Barra de pesquisa de destinos #}
{{ winkLookup() }}
{# Botão de seleção de itinerário #}
{{ winkSearch() }}
{# Botão de conta de utilizador #}
{{ winkAccount() }}

A função winkContent() injeta automaticamente <wink-app-loader> na primeira vez que é chamada numa página.

FunçãoSaídaDescrição
winkContent(layout, id)<wink-content-loader>Cartões de hotéis, grelhas, mapas
winkLookup()<wink-lookup>Barra de pesquisa de destinos
winkSearch()<wink-search-button>Botão de seleção de itinerário
winkAccount()<wink-account-button>Iniciar sessão / conta de utilizador
winkItinerary()<wink-itinerary-button>Botão de estado do itinerário
winkShoppingCart()<wink-shopping-cart-button>Botão do carrinho

Adicione um campo Wink Layout a qualquer secção para dar aos editores um menu dropdown com todos os layouts disponíveis da sua conta Wink:

  1. Vá a Settings → Fields → New Field.
  2. Defina o Field Type para Wink Layout.
  3. Adicione o campo ao layout de campos do seu tipo de entrada.
  4. Os editores podem agora escolher um layout diretamente no editor de entradas — sem necessidade de copiar e colar IDs.

No seu template, passe o valor do campo para winkContent():

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