Skip to content

Craft CMS

Plugin Wink Craft CMS mengintegrasikan inventori perjalanan Wink ke dalam Craft 5 melalui fungsi templat Twig dan jenis medan khusus untuk penyunting kandungan. Penyunting boleh memilih susun atur Wink tertentu dari menu lungsur terus dalam penyunting entri.

  • Craft CMS 5.x
  • PHP 8.1+
  • Composer
  1. Pasang melalui Composer:
    Terminal window
    composer require wink2travel/craft-wink
  2. Aktifkan plugin di Panel Kawalan di Settings → Plugins, atau melalui CLI:
    Terminal window
    php craft plugin/install wink
  3. Pergi ke Settings → Wink dalam Panel Kawalan.
  4. Masukkan Client ID dan Client Secret anda, pilih persekitaran anda, dan klik Save. Pergi ke Applications untuk mendapatkan kelayakan anda.

Setelah dikonfigurasikan, panggil fungsi Twig Wink di mana-mana dalam templat anda:

{# Paparkan grid hotel #}
{{ winkContent('HOTEL', entry.winkLayoutId) }}
{# Bar carian destinasi #}
{{ winkLookup() }}
{# Butang pemilih jadual perjalanan #}
{{ winkSearch() }}
{# Butang akaun pengguna #}
{{ winkAccount() }}

Fungsi winkContent() secara automatik menyuntik <wink-app-loader> kali pertama ia dipanggil pada halaman.

FungsiOutputPenerangan
winkContent(layout, id)<wink-content-loader>Kad hotel, grid, peta
winkLookup()<wink-lookup>Bar carian destinasi
winkSearch()<wink-search-button>Butang pemilih jadual perjalanan
winkAccount()<wink-account-button>Log masuk / akaun pengguna
winkItinerary()<wink-itinerary-button>Butang status jadual perjalanan
winkShoppingCart()<wink-shopping-cart-button>Butang troli beli-belah

Tambah medan Wink Layout ke mana-mana seksyen untuk memberi penyunting menu lungsur semua susun atur yang tersedia dari akaun Wink anda:

  1. Pergi ke Settings → Fields → New Field.
  2. Tetapkan Field Type kepada Wink Layout.
  3. Tambah medan ke susun atur medan jenis entri anda.
  4. Penyunting kini boleh memilih susun atur terus dalam penyunting entri — tiada salin tampal ID.

Dalam templat anda, hantar nilai medan ke winkContent():

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