Ukázka se vzorovými daty. Na úzkém displeji se záložky kategorií posouvají do strany.
Vložení
Kód s doplněnou adresou je v administraci: Nastavení systému → API systému → Veřejný jídelníček. Tlačítko Náhled u kódu otevře živý náhled s kódem pro daný lístek; odkaz na něj jde poslat správci webu. U lístku s napojenou stálou nabídkou zapněte Zveřejnit stálou nabídku; kód se objeví v kartě „Jídelníček na váš web“ vedle kódu jídelníčku.
<link rel="stylesheet" href="https://cdn.objednavkaobedu.cz/stala-nabidka/v1/stala-nabidka.css">
<div data-oo-stala-nabidka data-feed="ADRESA-STÁLÉ-NABÍDKY"></div>
<script src="https://cdn.objednavkaobedu.cz/stala-nabidka/v1/stala-nabidka.min.js" defer></script>
Ukazují se položky, které jde objednat aspoň jeden den v nejbližším týdnu. Ceny, fotky a složení se řídí nastavením veřejného jídelníčku. Web se striktní CSP musí povolit cdn.objednavkaobedu.cz (script-src, style-src) a www.objednavkaobedu.cz (connect-src).
Nastavení
| Atribut | Význam |
|---|---|
| data-feed | Adresa stálé nabídky (JSON i XML). Projde i adresa veřejného jídelníčku téhož lístku. Povinné, pokud není data-token. |
| data-token | Místo adresy jen token (stejný jako u jídelníčku). |
| data-layout | tabs (výchozí) = záložky podle kategorií, list = všechny kategorie pod sebou s nadpisy. |
| data-theme | Vzhled; přidá třídu oo-stala-nabidka--<tema>. |
Ukázka na samostatné stránce: záložky, kategorie pod sebou.
Vzhled
Písmo se přebírá z webu. Proměnné jsou stejné jako u jídelníčku:
.oo-stala-nabidka {
--oo-accent: #024f94; /* vybraná kategorie, nadpisy */
--oo-accent-soft: #e8f0f8; /* pozadí vybrané kategorie */
--oo-bg: #fff;
--oo-text: #0f1c2b;
--oo-text-light: #56637a;
--oo-border: #d7dee8;
--oo-radius: 12px;
--oo-max-width: 800px;
--oo-font-size: 17px;
}
Verze
Adresa /v1/ se nemění, opravy se k webům dostanou samy – kód na webu není potřeba měnit.
JavaScript
Widget se spustí po načtení stránky. Pro obsah načtený později:
OOStalaNabidka.init(); // spustí nově přidané [data-oo-stala-nabidka]
var w = OOStalaNabidka.mount(element, { feed: 'https://…', layout: 'list' });
w.reload(); // znovu načte data
Vlastní vykreslení
Bez knihovny, přímo z adresy stálé nabídky:
GET https://www.objednavkaobedu.cz/api/v1/public-menu/permanent-offer?token=…&format=json
- Token je stejný jako u veřejného jídelníčku lístku.
formatjsonneboxml. categories= kategorie v pořadí z administrace, každá sid,nameafoods. Položky mají stejný tvar jako jídla ve feedu jídelníčku. Položky bez kategorie jsou na konci ve skupině „Ostatní“ (id: null).- Jen položky, které jde objednat aspoň jeden den z
from–to(dnešek a dalších 6 dní) a vypisují se v jídelníčku. Které dny to jsou, výpis zatím neuvádí. Stálá nabídka omezená jen na některá odběrná místa nebo střediska se nezveřejňuje. - Ceny jen při
showPrices: true. CORS*, cache 5 minut.