Eventy doplňků

Pro snazší reagování na změny našich doplňků na e-shopu vývojáři jsme pro všechny naše doplňky připravili události (eventy), na které je možné reagovat vlastním skriptem.

Každý doplněk nyní obsahuje ve svém FE (frontend) skriptu e-shopu objekt s názvem events. Například pro doplněk Oblíbené produkty je to dkLabFavouriteProducts.events.

Tento objekt obsahuje pole availableEvents, které uvádí názvy všech událostí (eventů), které může doplněk spustit. Například pro Oblíbené produkty je to dkLabFavouriteProducts.events.availableEvents.

1. Varianty událostí

Při prvním načtení doplňku na stránce e-shopu a pokud doplněk změní DOM (strukturu webové stránky), se spustí událost s názvem končícím slovem "Loaded". Název události je vždy složen z názvu hlavního objektu FE skriptu a slova "Loaded".  Například dkLabFavouriteProductsLoaded.

Některé doplňky mohou během zobrazování stránky vyvolat další události, které signalizují změny v DOM. Tyto události obvykle končí slovem "Changed".
Například:  

dkLabFavouriteProductsChanged – signalizuje změny v DOMu související s produkty (v kategoriích i na detailu produktu)
dkLabFavouriteProductsHeaderChanged – signalizuje změny v hlavičce, konkrétně u ikony srdíčka

Monitoring událostí

Pokud je zapnutý monitoring událostí v Shoptetu (pomocí příkazu shoptet.dev.enableEventsMonitoring()), budou se ve výpise konzole zobrazovat i události doplňků dkLAB.

Monitoring událostí

2. Přidání listeneru na událost

Pokud chcete přidat listener pro událost, která se vyvolá při načtení doplňku (například pro dkLabFavouriteProductsLoaded), použijte následující kód:

document.addEventListener(′dkLabFavouriteProductsLoaded′, function(event) {
    console.log(′Doplněk dkLabFavouriteProducts byl načten.′);
    // Zde můžete přidat vlastní logiku, která se má provést při načtení doplňku
});

3. Seznam doplňků a jejich událostí

Zde uvádíme naše doplňky a seznam jejich událostí, na které je možné reagovat. V poznámce je uvedeno, kdy se daná událost spouští. Seznam budeme průběžně aktualizovat.

Bannery+

Nyní nenasazeno, eventy přibudou při přechodu na novou verzi bannerů.

FaviExtra

dkLabFaviExtraLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM

Filtry+

dkLabFiltersLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM
dkLabFiltersChanged - při jakékoliv změně ve filtrech, posun posuvníku, výběr filtru, zrušení filtru a další

Instagram widget+

dkLabInstagramWidgetLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM 

Naposledy navštívené produkty

dkLabLastVisitedProductsLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM
dkLabLastVisitedProductsChanged - při každém zobrazení naposledy navštívených produktů

Oblíbené produkty

dkLabFavouriteProductsLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM
dkLabFavouriteProductsProductsChanged - změna u produktů na homepage, v kategoriích nebo na detailu produktu
dkLabFavouriteProductsHeaderChanged - změna v ikoně srdíčka v hlavičce / v menu

Odpočet času u akční ceny

dkLabPriceCountdownLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM
dkLabPriceCountdownProductsChanged - změna u produktů na homepage, v kategoriích nebo na detailu produktu
dkLabPriceCountdownCarouselChanged - změna v carouselu na homepage
dkLabPriceCountdownAdvancedOrderChanged - změna u produktů v rozšířené objednávce

Porovnávač zboží

dkLabProductComparerLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM
dkLabProductComparerProductsChanged - změna u produktů na homepage, v kategoriích nebo na detailu produktu
dkLabProductComparerHeaderChanged - změna v ikoně váhy v hlavičce / v menu

Poslední zákazníci

dkLabPosledniZakazniciLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM

Poznámka a příloha k produktu

dkLabNoteAttachmentLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM
dkLabNoteAttachmentProductsChanged - změna u produktů na homepage nebo v kategoriích
dkLabNoteAttachmentProductDetailChanged - změna na detailu produktu
dkLabNoteAttachmentCartChanged - změna v popup košíku i ve standardním košíku

Pro dopravu/dárek zdarma zbývá

dkLabDopravaLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM
dkLabDopravaProductTagsChanged - změna tagů u produktů na homepage nebo v kategoriích
dkLabDopravaDetailTagChanged - změna tagu na detailu produktu
dkLabDopravaWidgetsChanged - změna informačního widgetu o zbývající dopravě

Slider+

Nyní nenasazeno, eventy budou fungovat při přechodu na novou verzi doplňku (během listopadu 2024).

dkLabSliderLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM

Šablona Crystal

dklabTemplateCrystalLoaded - první načtení šablony na stránce e-shopu a šablona změní DOM

Štítky v obrázku

dkLabStitkyLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM

Tento týden zakoupilo

dkLabZakoupiloLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM
dkLabZakoupiloProductsChanged - změna DOM produktů na homepage a v kategoriích 

Záložky na detailu produktu

dkLabBookmarksOnDetailLoaded - první načtení doplňku na stránce e-shopu a doplněk změní DOM

4. Možné problémy a řešení

  • Objekt doplňku neobsahuje objekt events - zkuste prosím přeuložit nastavení doplňku
  • Listener na událost se nespustí pro určitou událost ze seznamu dostupných událostí availableEvents - zkuste zapnout monitoring událostí v Shoptetu, jestli je název události správný a pokud narazíte na nějakou nesrovnalost, kontaktujte nás prosím na podporu doplňků

Mezi naše klienty patří:

Licirna

Yage

Akinu

Espeon

Perricone MD

Made for Skin

Grossmann

Fajnspanek

Jsme na Facebooku