logo

Seznam pro vývojáře

Seznam Diskuze

Seznam pro vývojářeSeznam DiskuzeZákladní implementace

Základní implementace

Před zahájením implementace nás prosím kontaktujte na e-mailovou adresu podpora.diskuze@firma.seznam.cz. Na základě další komunikace vám vyrobíme unikátní identifikátor service-name, který následně použijete v rámci inicializace diskuzního embedu.

Do hlavičky HTML stránky mezi tagy <head></head> vložte:

<script type="text/javascript" src="https://d21-a.sdn.cz/d_21/sl/3/loader.js"></script>

Do místa na stránce, kde chcete embed vykreslit vložte:

<div id="discussion"></div>

Pomocí kódu níže si načtěte skript diskuzního embedu:

window.SZN.DiscussionLoader.load(["embedded"]).then(() => {
    const instance = SZN.Discussion.create(
        "service-name", // Přidělený identifikátor vaší služby
        "discussion", // HTML element, ID elementu nebo query selector elementu
        {
        // konfigurace
        }
    );

    // instance.loadDiscussion(...)
});

Místo ID elementu discussion můžete použít jiné libovolné ID elementu na stránce, ve kterém se embed vygeneruje, instanci HTMLElementu nebo query selector. Řetězec service-name nahraďte za námi přidělený strojový název vaší služby.

Dostupné atributy konfigurace:

Nakonec vyrobíme instanci diskuzního embedu pomocí:

instance.loadDiscussion(
    "canonicalString",
    {   // meta data
        title: "discussion or page title",
        url: "http://url-of-page-with-the-discussion"
    }
);

Úklid

Po dokončení práce diskuzního embedu zavolejte metodu unload. Tímto se odstraní události a instance samotná.

instance.unload();

Propojení diskuzí s Homepage Seznamu

Aby byla implementace na vašich stránkách kompletní, je potřeba zajistit propojení mezi diskuzní stránkou a Homepage Seznamu. Toho docílíte dvěma jednoduchými kroky. Do článku je nutné přidat hlavičku s metatagem szn:permalink:

<meta name="szn:permalink" content="canonicalString" />
Hodnotu canonicalString je zde potřeba nahradit stejným identifiátorem diskuze jako ve volání instance.loadDiscussion.

Do strukturovaných dat (https://json-ld.org) článku přidejte položku discussionUrl:

<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "NewsArticle",
        ...
        "discussionUrl": "https://mujweb.xyz/diskuze/123"
    }
</script>

Správné chování si můžete otestovat pomocí nástroje https://search.google.com/structured-data/testing-tool

Uzavření diskuze

Pokud nechcete zobrazovat bublinku vedoucí na diskuzi ze Seznam Homepage, je možné u článku poslat HTML hlavičku:

<meta name="szn:discussionDisabled" content="true" />

Tuto hlavičku se hodí posílat například u diskuzí, které byly zavřeny z důvodu porušování pravidel nebo které nemají být u článku vůbec vytvořeny.

Mám hotovo

Pokud vám diskuzní embed běží správně na vašem vývojovém prostředí, dejte nám o tom opět vědět prostřednictvím e-mailové adresy podpora.diskuze@firma.seznam.cz. Z naší strany proběhne krátká kontrola, po které můžete embed nasadit do produkčního prostředí.