Craft CMS
Wink Craft CMS Plugin ผสานรวมสินค้าคงคลังการเดินทางของ Wink เข้ากับ Craft 5 ผ่านฟังก์ชัน Twig template และประเภทฟิลด์ที่กำหนดเองสำหรับบรรณาธิการเนื้อหา บรรณาธิการสามารถเลือกเลย์เอาต์ Wink ที่ต้องการจากเมนูแบบเลื่อนลงได้โดยตรงในตัวแก้ไขรายการ
wink-travel/wink-craft-plugin บน GitHub ซอร์สโค้ด คู่มือการตั้งค่าสำหรับนักพัฒนา และคำแนะนำการมีส่วนร่วม
ความต้องการ
หัวข้อที่มีชื่อว่า “ความต้องการ”- Craft CMS 5.x
- PHP 8.1+
- Composer
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”- ติดตั้งผ่าน Composer:
Terminal window composer require wink2travel/craft-wink - เปิดใช้งานปลั๊กอินใน Control Panel ที่ Settings → Plugins หรือผ่าน CLI:
Terminal window php craft plugin/install wink - ไปที่ Settings → Wink ใน Control Panel
- กรอก Client ID และ Client Secret ของคุณ เลือกสภาพแวดล้อม แล้วคลิก Save ไปที่ Applications เพื่อดึงข้อมูลรับรองของคุณ
การใช้งานใน Twig templates
หัวข้อที่มีชื่อว่า “การใช้งานใน Twig templates”เมื่อกำหนดค่าแล้ว ให้เรียกใช้ฟังก์ชัน Twig ของ Wink ที่ใดก็ได้ในเทมเพลตของคุณ:
{# แสดงกริดโรงแรม #}{{ winkContent('HOTEL', entry.winkLayoutId) }}
{# แถบค้นหาปลายทาง #}{{ winkLookup() }}
{# ปุ่มเลือกแผนการเดินทาง #}{{ winkSearch() }}
{# ปุ่มบัญชีผู้ใช้ #}{{ winkAccount() }}ฟังก์ชัน winkContent() จะฝัง <wink-app-loader> อัตโนมัติในครั้งแรกที่เรียกใช้บนหน้า
ฟังก์ชัน Twig ที่มีให้ใช้งาน
หัวข้อที่มีชื่อว่า “ฟังก์ชัน Twig ที่มีให้ใช้งาน”| ฟังก์ชัน | ผลลัพธ์ | คำอธิบาย |
|---|---|---|
winkContent(layout, id) | <wink-content-loader> | การ์ดโรงแรม, กริด, แผนที่ |
winkLookup() | <wink-lookup> | แถบค้นหาปลายทาง |
winkSearch() | <wink-search-button> | ปุ่มเลือกแผนการเดินทาง |
winkAccount() | <wink-account-button> | ลงชื่อเข้าใช้ / บัญชีผู้ใช้ |
winkItinerary() | <wink-itinerary-button> | ปุ่มสถานะแผนการเดินทาง |
winkShoppingCart() | <wink-shopping-cart-button> | ปุ่มตะกร้าสินค้า |
ประเภทฟิลด์ Wink Layout
หัวข้อที่มีชื่อว่า “ประเภทฟิลด์ Wink Layout”เพิ่มฟิลด์ Wink Layout ในส่วนใดก็ได้เพื่อให้บรรณาธิการมีเมนูแบบเลื่อนลงของเลย์เอาต์ทั้งหมดที่มีในบัญชี Wink ของคุณ:
- ไปที่ Settings → Fields → New Field
- ตั้งค่า Field Type เป็น Wink Layout
- เพิ่มฟิลด์นี้ในเลย์เอาต์ฟิลด์ของประเภทรายการของคุณ
- บรรณาธิการสามารถเลือกเลย์เอาต์ได้โดยตรงในตัวแก้ไขรายการ — ไม่ต้องคัดลอกและวาง ID อีกต่อไป
ในเทมเพลตของคุณ ส่งค่าฟิลด์ไปยัง winkContent():
{{ winkContent(entry.winkLayout.type, entry.winkLayout.id) }}