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álostPopis
UpsellProductRenderedSpustí se při renderování doplňků na stránce produktu
UpsellProductChangedSpustí se při změnách DOM na stránce produktu
UpsellCartRenderedSpustí se při renderování doplňků v košíku
UpsellCartChangedSpustí se při změnách DOM v košíku
UpsellBannersRenderedSpustí se při renderování bannerů
UpsellGiftsRenderedSpustí se při renderování dárků
UpsellAddonAddedToCartSpustí 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ástrojPopis
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

Byl tenhle článek užitečný?

0 z 0 se tenhle článek líbil