Skip to content

Peata CMS

Wink veebikomponendid on raamistikust sõltumatud kohandatud HTML elemendid. Kui teie peata CMS renderdab HTML-i — olgu see siis Next.js, Nuxt, Astro, SvelteKit või mõni muu raamistik — saate Wink komponente manustada ilma erilise integratsioonita.

Iga Wink integratsioon, platvormist sõltumata, järgib samu kolme sammu.

Lisa see oma dokumendi <head> sektsiooni (või vastavasse globaalsesse paigutusse):

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

Lisa see enne sulgemist </body> sildil (või oma paigutuse skripti sektsioonis):

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

Pane see üks kord lehe kohta, suvalisse kohta body sees (tavaliselt globaalse paigutuse jalusesse):

<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>

Oma CMS-i rikaste tekstide või kohandatud väljade tüüpides manusta komponendi sildid otse HTML väljundisse:

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

Contentfuli, Strapi, Sanity või sarnaste peata platvormide puhul kasuta Rich Text välja või Custom Block-i, mis renderdab puhast HTML-i, ja kleebi sinna komponendi silt.

TypeScript projektide jaoks pakub @wink/elements pakett:

  • load() funktsiooni, mis süstib CDN skriptid programmiliselt
  • Täielikud TypeScript tüübi deklaratsioonid kõigi komponentide atribuutide jaoks
Terminal window
npm install @wink/elements
import { load } from '@wink/elements';
// Kutsu üks kord rakenduse käivitamisel
load({ clientId: 'YOUR_CLIENT_ID' });
KomponentHTML siltEesmärk
Sisu laadija<wink-content-loader>Näita hotelli kaarte, võrgustikke, kaarte
Otsing<wink-lookup>Sihtkohtade otsinguriba
Otsingunupp<wink-search-button>Ava marsruudi valija
Konto nupp<wink-account-button>Sisselogimine / kasutajamenüü
Marsruudi nupp<wink-itinerary-button>Näita praegust marsruuti
Marsruudi valija<wink-itinerary-picker>Täielik marsruudi vorm
Ostukorvi nupp<wink-shopping-cart-button>Ostukorvi kokkuvõtte nupp

Vaata Web Components täielikku atribuudi viidet.