Strapi adapter: headless CMS bridge
To pot uporabi, ko Strapi zagotavlja vsebino in nastavitve, frontend stran pa je odgovorna za nalaganje Cookiezy runtime-a, bannerja, scannerja in audita na policy strani.
- • Dejanske Cookiezy skripte naj še vedno tečejo na frontend strani.
- • V Strapi upravljaj `defaultLocale`, `localeRoutes` in policy URL mappinge.
- • Licensing polja prenesi v generated frontend config.
- • Live cookie audit montiraj na objavljeni frontend policy strani, ne v Strapi adminu.

Runtime serviraj iz frontend shell-a
Frontend še vedno naloži shared CSS, core runtime, UI, scanner in kanonično Strapi bridge datoteko s poti, dostopne vsem route-om.
Code snippet
<link rel="stylesheet" href="/cookiezy/cookie-consent.css" />
<script src="/cookiezy/cookiezy-strapi-adapter.js"></script>
<script src="/cookiezy/cookie-consent.js"></script>
<script src="/cookiezy/cookie-consent-ui.js"></script>
<script src="/cookiezy/cookie-consent-scanner.js"></script>Strapi nastavitve pretvori v shared Cookiezy config
Nastavitve preberi iz Strapi-ja in jih pretvori v isti runtime objekt, ki ga uporabljajo drugi adapterji. Tako locale, policy URL, layout in licensing ostanejo usklajeni med platformami.
Code snippet
const strapiSettings = {
defaultLocale: "sl",
localeRoutes: {
en: { policyUrl: "/en/cookie-policy", pathPrefixes: ["/en"] },
sl: { policyUrl: "/sl/politika-piskotkov", pathPrefixes: ["/sl"] }
},
storageKey: "strapi_cookie_consent_v1",
theme: { layout: "bottom-right" },
license: {
siteKey: "ck_live_cookiezy_demo",
verifyUrl: "https://cookiezy.com/api/licensing/verify",
billingUrl: "https://cookiezy.com/sl/billing"
}
};
window.CookiezyStrapiAdapter.boot(
window.CookiezyStrapiAdapter.buildConfigFromStrapiSettings(strapiSettings)
);Strapi locale modele poveži z `localeRoutes`
Če Strapi že hrani lokalizirane vsebine, v Cookiezy settings modelu ohrani enak locale-to-policy mapping. Shared core lahko nato iz trenutne frontend poti določi pravilen jezik in policy stran.
- • Po možnosti uporabi enake locale kode v Strapi-ju in frontend runtime-u.
- • `pathPrefixes` naj sledijo frontend routerju, ne Strapi admin URL-jem.
- • Vsak locale naj kaže na pravilno objavljeno stran s politiko piškotkov.
Plugin-ready, a še vedno frontend-first
Prihodnji Strapi plugin lahko ponudi boljši admin editing flow, saved parameters in generated config preview. Ne sme pa prevzeti odgovornosti za visitor-facing browser runtime.
- • Priporočen future plugin scope: settings screen, generated config preview in install checklist.
- • Strapi admin naj ne postane mesto, kjer teče banner za obiskovalca.
- • Objavljeni frontend naj ostane odgovoren za audit mount in pre-consent blocking teste.
Kot izhodišče uporabi vključeni primer Next.js + Strapi
Paket zdaj vključuje konkreten `examples/strapi-nextjs/` tok z App Router layoutom, frontend bootstrap komponento, helperjem za branje nastavitev iz Strapi-ja in primerom lokalizirane policy strani.
- • Na strežniški strani preberi settings iz Strapi plugin endpointa.
- • Strapi locale routes pretvori v shared Cookiezy runtime obliko.
- • Cookiezy v Next.js shellu zaženi prek `CookiezyStrapiAdapter`.
- • Audit blok montiraj na objavljeni policy strani.
Vključen je tudi primer React + Strapi
Paket vključuje tudi `examples/strapi-react/` za SPA ekipe. Prikazuje React shell provider, ki prebere settings iz Strapi-ja, Cookiezy assete naloži samo enkrat in audit montira na frontend policy route-u.
- • V Reactu uporabi en sam shell-level `CookiezyProvider`.
- • Strapi plugin settings enkrat preberi in jih pretvori v shared runtime config.
- • Cookiezy skripte naloži samo enkrat iz app shell-a.
- • Audit blok montiraj na React policy route-u.
Strapi rollout checklist
Pred objavo preveri tako CMS config layer kot dejansko obnašanje na objavljeni frontend strani.
- • Frontend boot prejme pričakovane vrednosti iz Strapi-ja.
- • Hostname verification vrne `allowed: true` na live strani.
- • Jezik bannerja sledi aktivni locale poti.
- • Povezava do strani s politiko piškotkov odpre pravilen locale URL.
- • Audit mount se izriše in re-scan odraža trenutno browser sejo.
- • Restricted mode še vedno blokira optional obnašanje, ko billing ali verification nista aktivna.