İçeriğe geç

Craft CMS

Wink Craft CMS Eklentisi, Wink seyahat envanterini Twig şablon fonksiyonları ve içerik editörü için özel bir alan türü aracılığıyla Craft 5’e entegre eder. Editörler, giriş editöründe doğrudan bir açılır menüden belirli bir Wink düzeni seçebilir.

  • Craft CMS 5.x
  • PHP 8.1+
  • Composer
  1. Composer ile yükleyin:
    Terminal window
    composer require wink2travel/craft-wink
  2. Kontrol Panelinde Ayarlar → Eklentiler bölümünden veya CLI ile etkinleştirin:
    Terminal window
    php craft plugin/install wink
  3. Kontrol Panelinde Ayarlar → Wink sayfasına gidin.
  4. Client ID ve Client Secret bilgilerinizi girin, ortamınızı seçin ve Kaydet butonuna tıklayın. Kimlik bilgilerinizi almak için Applications sayfasına gidin.

Yapılandırıldıktan sonra, Wink Twig fonksiyonlarını şablonlarınızda istediğiniz yerde çağırabilirsiniz:

{# Bir otel ızgarası render et #}
{{ winkContent('HOTEL', entry.winkLayoutId) }}
{# Varış yeri arama çubuğu #}
{{ winkLookup() }}
{# Güzergah seçici butonu #}
{{ winkSearch() }}
{# Kullanıcı hesap butonu #}
{{ winkAccount() }}

winkContent() fonksiyonu, bir sayfada ilk kez çağrıldığında otomatik olarak <wink-app-loader> öğesini enjekte eder.

FonksiyonÇıktıAçıklama
winkContent(layout, id)<wink-content-loader>Otel kartları, ızgaralar, haritalar
winkLookup()<wink-lookup>Varış yeri arama çubuğu
winkSearch()<wink-search-button>Güzergah seçici butonu
winkAccount()<wink-account-button>Giriş / kullanıcı hesabı
winkItinerary()<wink-itinerary-button>Güzergah durumu butonu
winkShoppingCart()<wink-shopping-cart-button>Sepet butonu

Herhangi bir bölüme bir Wink Layout alanı ekleyerek editörlere Wink hesabınızdaki tüm mevcut düzenlerin bir açılır menüsünü sunabilirsiniz:

  1. Ayarlar → Alanlar → Yeni Alan sayfasına gidin.
  2. Alan Türü olarak Wink Layout seçin.
  3. Alanı giriş türünüzün alan düzenine ekleyin.
  4. Editörler artık giriş editöründe doğrudan bir düzen seçebilir — ID kopyalayıp yapıştırmaya gerek yok.

Şablonunuzda, alan değerini winkContent() fonksiyonuna iletin:

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