Eventy doplňku Upsell
Jakub Kratina
Poslední aktualizace před 2 dny
Pro snazší reagování na změny doplňku Upsell na e-shopu jsme připravili systém událostí (eventů), na které je možné reagovat vlastním skriptem.
Dostupné eventy
Doplněk Upsell obsahuje objekt window.upsell.events, který poskytuje seznam všech dostupných událostí:
Seznam událostí
| Událost | Popis |
|---|---|
| UpsellProductRendered | Spustí se při renderování doplňků na stránce produktu |
| UpsellProductChanged | Spustí se při změnách DOM na stránce produktu |
| UpsellCartRendered | Spustí se při renderování doplňků v košíku |
| UpsellCartChanged | Spustí se při změnách DOM v košíku |
| UpsellBannersRendered | Spustí se při renderování bannerů |
| UpsellGiftsRendered | Spustí se při renderování dárků |
| UpsellAddonAddedToCart | Spustí se při přidání doplňkového produktu nebo dárku do košíku |
Varianty událostí
- *Rendered - Události končící slovem "Rendered" se spustí při prvním načtení/renderování příslušné části doplňku
- *Changed - Události končící slovem "Changed" signalizují změny v DOM po interakci uživatele
Přidání listeneru na událost
Pokud chcete přidat listener pro událost, použijte standardní document.addEventListener:
Příklad: Reagovat na načtení košíku
Příklad: Kombinace s kontrolou existence prvku
V některých případech může dojít k načtení doplňku dříve, než se spustí váš skript. Pro jistotu můžete zkombinovat listener s kontrolou existence prvku:
Monitoring událostí
Pokud je zapnutý monitoring událostí v Shoptetu pomocí příkazu:
budou se ve výpisu konzole zobrazovat i události doplňku Upsell ve formátu:
Ladicí režim a nástroje pro vývojáře
Diagnostické hlášky doplňku (např. upozornění, že se na stránce nenašel element, ke kterému se má nabídka připojit) jsou ve výchozím stavu skryté. Zapnete je ladicím režimem — v konzoli prohlížeče spusťte:
Zapnutý ladicí režim:
- zobrazuje diagnostické hlášky doplňku v konzoli,
- načte nástroje pro vývojáře do objektu window.upDevHelpers (viz níže),
- přežívá navigaci — příznak se ukládá do localStorage (klíč up_debug), takže zůstává zapnutý i při přechodu mezi stránkami, dokud ho sami nevypnete.
Ladicí režim doplňku se zapne i Shoptetím monitoringem událostí (shoptet.dev.enableEventsMonitoring()). Naopak to ale neplatí: upDevHelpers.debug(true) výpis událostí z kapitoly „Monitoring událostí“ nezapne — ten řídí výhradně monitoring Shoptetu.
Nástroje window.upDevHelpers
Objekt window.upDevHelpers je na stránce dostupný vždy, ale kromě přepínače debug() se jeho nástroje načítají až po zapnutí ladicího režimu — a to asynchronně, takže hned po zavolání debug(true) může chvíli trvat, než se objeví. Na dalších načtených stránkách jsou pak k dispozici automaticky, dokud je ladicí režim zapnutý.
| Nástroj | Popis |
|---|---|
| debug(true/false) | Přepínač ladicího režimu (dostupný vždy) |
| addToCart('KÓD', množství) | Přidá produkt do košíku (množství je volitelné, výchozí je 1) |
| getCart() | Vrátí aktuální obsah košíku |
| getPageData() | Vrátí data aktuální stránky (typ stránky, produkt, košík, data doplňku) |
| showIcons() | Zobrazí přehled font ikon šablony v modálním okně |
| stickyGallery() | Vynutí připnutí galerie produktu (přepínač sticky_product_gallery) pro otestování šablony; vrací, zda se něco připnulo |