Craft CMS
Plugin Wink Craft CMS tích hợp kho lưu trữ du lịch Wink vào Craft 5 thông qua các hàm mẫu Twig và một loại trường tùy chỉnh cho trình chỉnh sửa nội dung. Biên tập viên có thể chọn một bố cục Wink cụ thể từ menu thả xuống ngay trong trình chỉnh sửa bài viết.
wink-travel/wink-craft-plugin trên GitHub Mã nguồn, hướng dẫn thiết lập cho nhà phát triển và hướng dẫn đóng góp.
Yêu cầu
Phần tiêu đề “Yêu cầu”- Craft CMS 5.x
- PHP 8.1+
- Composer
Cài đặt
Phần tiêu đề “Cài đặt”- Cài đặt qua Composer:
Terminal window composer require wink2travel/craft-wink - Kích hoạt plugin trong Bảng điều khiển tại Settings → Plugins, hoặc qua CLI:
Terminal window php craft plugin/install wink - Vào Settings → Wink trong Bảng điều khiển.
- Nhập Client ID và Client Secret, chọn môi trường của bạn, rồi nhấn Save. Truy cập Applications để lấy thông tin đăng nhập.
Sử dụng trong mẫu Twig
Phần tiêu đề “Sử dụng trong mẫu Twig”Sau khi cấu hình, gọi các hàm Twig của Wink ở bất kỳ đâu trong mẫu của bạn:
{# Hiển thị lưới khách sạn #}{{ winkContent('HOTEL', entry.winkLayoutId) }}
{# Thanh tìm kiếm điểm đến #}{{ winkLookup() }}
{# Nút chọn hành trình #}{{ winkSearch() }}
{# Nút tài khoản người dùng #}{{ winkAccount() }}Hàm winkContent() tự động chèn <wink-app-loader> lần đầu tiên nó được gọi trên trang.
Các hàm Twig có sẵn
Phần tiêu đề “Các hàm Twig có sẵn”| Hàm | Kết quả | Mô tả |
|---|---|---|
winkContent(layout, id) | <wink-content-loader> | Thẻ khách sạn, lưới, bản đồ |
winkLookup() | <wink-lookup> | Thanh tìm kiếm điểm đến |
winkSearch() | <wink-search-button> | Nút chọn hành trình |
winkAccount() | <wink-account-button> | Đăng nhập / tài khoản người dùng |
winkItinerary() | <wink-itinerary-button> | Nút trạng thái hành trình |
winkShoppingCart() | <wink-shopping-cart-button> | Nút giỏ hàng |
Loại trường Wink Layout
Phần tiêu đề “Loại trường Wink Layout”Thêm trường Wink Layout vào bất kỳ phần nào để biên tập viên có menu thả xuống tất cả các bố cục có sẵn từ tài khoản Wink của bạn:
- Vào Settings → Fields → New Field.
- Chọn Field Type là Wink Layout.
- Thêm trường vào bố cục trường của loại bài viết.
- Biên tập viên giờ có thể chọn bố cục trực tiếp trong trình chỉnh sửa bài viết — không cần sao chép dán ID.
Trong mẫu của bạn, truyền giá trị trường vào winkContent():
{{ winkContent(entry.winkLayout.type, entry.winkLayout.id) }}