דלגו לתוכן

מערכת ניהול תוכן ללא ראש

רכיבי הווב של Wink הם אלמנטים מותאמים אישית ב-HTML שאינם תלויים במסגרת עבודה. אם מערכת ניהול התוכן שלך ללא ראש מציגה HTML — בין אם דרך Next.js, Nuxt, Astro, SvelteKit או כל מסגרת אחרת — תוכל להטמיע את רכיבי Wink ללא אינטגרציה מיוחדת.

כל אינטגרציה של Wink, ללא קשר לפלטפורמה, עוקבת אחרי אותם שלושה שלבים.

1. הוסף את גיליון הסגנונות

Section titled “1. הוסף את גיליון הסגנונות”

הוסף זאת ל<head> של המסמך שלך (או לפריסת העיצוב הגלובלית המקבילה):

<link rel="stylesheet" href="https://elements.wink.travel/styles.css">

הוסף זאת לפני תג ה-</body> הסוגר (או בסקשן הסקריפט של הפריסה שלך):

<script src="https://elements.wink.travel/elements.js" type="module" defer></script>

3. הוסף את הטוען של האפליקציה

Section titled “3. הוסף את הטוען של האפליקציה”

מקם זאת פעם אחת בכל עמוד, בכל מקום בתוך ה-body (בדרך כלל בכותרת התחתונה של הפריסה הגלובלית):

<wink-app-loader client-id="YOUR_CLIENT_ID"></wink-app-loader>
app/layout.tsx
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<head>
<link rel="stylesheet" href="https://elements.wink.travel/styles.css" />
</head>
<body>
{children}
<script src="https://elements.wink.travel/elements.js" type="module" defer />
<wink-app-loader client-id="YOUR_CLIENT_ID" />
</body>
</html>
);
}
layouts/default.vue
<template>
<div>
<slot />
<wink-app-loader client-id="YOUR_CLIENT_ID" />
</div>
</template>
<script setup>
useHead({
link: [{ rel: 'stylesheet', href: 'https://elements.wink.travel/styles.css' }],
script: [{ src: 'https://elements.wink.travel/elements.js', type: 'module', defer: true }],
})
</script>
src/layouts/Layout.astro
<html lang="en">
<head>
<link rel="stylesheet" href="https://elements.wink.travel/styles.css" />
</head>
<body>
<slot />
<script src="https://elements.wink.travel/elements.js" type="module" is:inline></script>
<wink-app-loader client-id="YOUR_CLIENT_ID"></wink-app-loader>
</body>
</html>
src/routes/+layout.svelte
<svelte:head>
<link rel="stylesheet" href="https://elements.wink.travel/styles.css" />
</svelte:head>
<slot />
<wink-app-loader client-id="YOUR_CLIENT_ID" />
<script>
import { onMount } from 'svelte';
onMount(async () => {
await import('https://elements.wink.travel/elements.js');
});
</script>

בשדות טקסט עשיר או שדות מותאמים אישית במערכת ניהול התוכן שלך, הטמע תגי רכיבים ישירות ביציאת ה-HTML:

<wink-content-loader
layout="HOTEL"
id="YOUR_LAYOUT_ID"
></wink-content-loader>

למערכות כמו Contentful, Strapi, Sanity או פלטפורמות ללא ראש דומות, השתמש בשדה Rich Text או בCustom Block שמציג HTML גולמי, והדבק שם את תג הרכיב.

לפרויקטים ב-TypeScript, חבילת @wink/elements מספקת:

  • פונקציית load() שמזריקה את סקריפטי ה-CDN באופן תכנותי
  • הכרזות טיפוסים מלאות לכל מאפייני הרכיבים
Terminal window
npm install @wink/elements
import { load } from '@wink/elements';
// קריאה פעם אחת בעת הפעלת האפליקציה
load({ clientId: 'YOUR_CLIENT_ID' });
רכיבתג HTMLמטרה
Content loader<wink-content-loader>הצגת כרטיסי מלונות, רשתות, מפות
Lookup<wink-lookup>שורת חיפוש ליעדים
Search button<wink-search-button>פתיחת בורר מסלול
Account button<wink-account-button>כניסה / תפריט משתמש
Itinerary button<wink-itinerary-button>הצגת המסלול הנוכחי
Itinerary picker<wink-itinerary-picker>טופס מסלול מלא
Shopping cart<wink-shopping-cart-button>כפתור סיכום עגלה

עיין ב-Web Components לקבלת הפניה מלאה למאפיינים.