Nedávno jsem v článku Komentáře na webu: vlastní, Disqus nebo Facebook (či Google+) dospěl k závěru, že Disqus mi vyhovuje z externích komentářových služeb asi nejvíce, ale váhal jsem s jeho nasazením na pár větších webech na Drupalu. Bariéra padla a během víkendu jsem se do toho pustil.
Proč Disqus?
Rozhodnutí nasadit na některé weby místo komentářů v Drupalu systém Disqus, potažmo jinou komentářovou službu (Facebook komentáře, LiveFyre, Google+ komentáře...) ve mně zrálo už delší dobu. Komentáře totiž ve větším počtu mohou zpomalovat Drupal, na dobře cacheovaném webu trvá déle přinejmenším jejich ukládání.
Navíc, chcete-li nabídnout na webu komfortní komentáře, musíte doplnit moduly na jejich zasílání e-mailem, ochranu před spamem (captcha je na nic, smysl má řešení ala Mollom), značkování komentářů, hodnocení, případně je hezky nastylovat, aby se pro přihlášené uživatele zobrazovala jejich fotka. Přihlašování uživatelů je kapitola sama pro sebe. Málokdo se dneska obtěžuje registrovat, raději se přihlásí přes nějakou sociální síť. K tomu opět musíte doplňovat další věci do webu.
Přitom Disqus spoustu z toho umí a jeho implementace do Drupalu (ale i do jiných redakčních systémů) je triviální.
- Disqus umí hodnocení komentářů
- V podstatě se zbavíte spamu
- Je v několika jazycích včetně češtiny (to neplatí pro zasílaná mailová upozornění)
- Uživatelé se nemusí registrovat na webu, nemusíte řešit jejich správu a oprávnění
- Mohu se však ke komentáři přihlásit přes Facebook, Twitter či Google+ nebo Disqus účet a jejich komentář tak nebude anonymní
- Je tu zabudované upozornění na odpovědi
- Lze vkládat obrázky i odkazy, způsob jejich vložení ale není na první pohled patrný a odbourá určitý počet začínajících spammerů
- Byť jsou JavaScriptové, Google umí komentáře z Disqus indexovat
- Komentářové pole je responsivní
Instalace Disqus do Drupalu
Komentáře ze služby Disqus zprovozníte v Drupalu s modulem, který se jmenuje, kupodivu, Disqus. Modul umí kromě zobrazení boxíku na komentáře využít API Disqus k tomu, aby zobrazil bloky s nejnovějšími komentáři, populárními vlákny a dalšími žebříčky. Nabízí podporu pro Views a sdílené přihlašování (to jsem ještě nepoužil).
Po zapnutí tohoto modulu můžete zcela odpárat modul Comment. K zprovoznění v Drupalu potřebujete bezplatnou registraci na Disqus.com, kde přidáte nový web a vyberete jeho označení. To pak v Drupalu zadáte do Konfigurace > Webové služby > Disqus do políčka Shortname. Dále zapnete, u kterých typů obsahu chcete komentáře Disqus mít a zda se mají zobrazit pod obsahem v hlavním obsahovém bloku, nebo jako samostatný blok. To se rozhodněte podle layoutu svého webu.
Pokud chcete vyzkoušet sdílené přihlašování do Drupalu a na Disqus, musíte si v sekci Advanced rozkliknout odkaz pro žádost o API přístup, vygenerovat na stránkách Disqusu příslušné klíče a ty pak zadat do Drupalu. Ale zatím jsem to nezkoušel, nemohu se tedy podělit o zkušenosti.
Tím je nastavení hotovo, počet komentářů se automaticky zobrazí ve výpisech článků mezi ostatními odkazy. Používáte-li Display Suite a odkazy v krátkých verzích článků máte ukryty, je potřeba vytvořit nové políčko a dát do něj takovýto kód:
<?php print l(t('Comments'),'node/'.$entity->nid, array('fragment' => 'disqus_thread')); ?>
U jednotlivých článků lze samozřejmě určovat formou zatrhovátka, zda komentáře z Disqus budou povoleny nebo nikoliv.
Export komentářů z Drupalu, import do Disqus
O něco složitější je situace v případě, že se rozhodnete nasadit Disqus na web, který již nějakou dobu běží a komentáře na něm již jsou. A nechcete o ně přijít. Disqus jako takový umí importovat komentáře ze souboru XML. Velmi snadno je lze exportovat třeba ve WordPressu. Základní modul pro Drupal však nic takového nenabízí.
Existuje však sandboxový modul Disqus Migrate. Normálně moduly ze Sandboxu moc nedoporučuji, ale v tomto případě udělám výjimku. Použjte jen opatchovanou verzi z tohoto vlákna.
Předtím, než zcela vypnete modul Comment nainstalujte na web Disqus Migrate a postupujte následovně:
- V Konfigurace > Webové služby > Disqus > Migrate nastavte adresu webu bez lomítka na konci.
- Přejděte do přehledu komentářů v Obsah > Komentáře.
- Přepněte se na jejich export do systému Disqus a stáhněte soubor XML.
- V administraci na webu Disqus přejděte u webu do sekce Discussions > Import > Generic (WXR).
- Nahrajte zde soubor XML stažený z administrace Drupalu.
Import komentářů po nakopírování XML chvíli potrvá, podle toho, kolik komentářů máte. Řádově stovky jsou hotovy do pár desítek minut. Doporučuji zkontrolovat na webu, zda v boxíku Disqus jsou pod články stejné komentáře, jako v části generované modulem Comment a ten vypnout až po této kontrole.
Pokud Disqus sice všechno importuje, ale pod články komentáře nevidíte, může být problém v adresách. Podívejte se do XML, zda je u každé položky správně sestavená adresa článku. Pokud tomu tak není, možná jste zapomněli ve výše uvedeném nastavit adresu webu, tak jako já při jednom z importů.
Převod komentářů z Drupalu na Disqus tedy není nic složitého a zvládnete to bez programování. Vřele doporučuji, pokud chcete na webu nabízet kvalitní komentářový systém a přitom si ušetřit práci. Zatím mi vadí jediná věc – symboly na hlasovacích tlačítkách nejsou moc intuitivní.
Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.
Podobné články
Komentáře k článku
Nevím, já je přs adminsitraci zaím neinstaloval. Vždycky jsem je raději stáhl do počítače, rozbalil, přejmenoval jejich složku na něco smysluplného (obvykle je jiná, než název modulu) a pak nakopíroval do sites/all/modules.
Právě to mě zaráží. Ty soubory, které uvádíš v odkazu v článku, nejsou standardním modulem. Je to jen soubor disqus_migrate.export nebo ten patch.
No stáhni si patch z mého odkazu směřující do vlákna, kde je patch ke stažení, a pak se tam přepni na domovskou stránku toho modulu a stáhni jej také. Aplikuj na něj ten patch a následně takto upravený modul nakopíruj na web.
Dobrý den,
píšete, že Disqus je i mimo jiné v češtině (a moravštině), ale mě se uživatelské rozhraní zobrazuje pouze v angličtině, což může být pro některé uživatele problém. A propos, vidím, že jste zde změnil prostředí komentářů. To je opět návrat k drupalovskému formuláři a nebo něco jiného?
S pozdravem Milan
Dobrý den. Co jsem teď rychle kouknul třeba na www.svetcms.cz, tak vidím Disqus v češtině. Viz screenshot
Tu na Maxiorlovi jsem nic delší dobu neměnil, nebo tedy nevím, jakou změnu máte na mysli. Komentáře jsou zde zatím pořád drupalovské a jiné nebyly.
Hezký podvečer,
viděl jsem na vlastní oči, že to česky máte, ale mě to při nové registraci bohužel v administraci na disqus.com češtinu nenabízí a podle https://www.transifex.com/projects/p/disqus/ je český překlad na 93%. Tak nevím, jestli dělám něco blbě nebo je to nějaká jiná verze. Na Google jsou zmínky o problémech s češtinou v loňském roce.
Za ten dotaz na zdejší formulář se omlouvám, psal jsem příspěvek 1.8. a dneska mi to prostředí připadá nějaké jiné. Asi přepracování -;)
Děkuji za tip,
Disqus mě zaujal. Jen mám dotaz k té migraci - moduly ze sandboxu se instalují nějak nestandardně?