Drupal 7 podle mě zatím neřekl poslední slovo. Sám sice už některé projekty stavím na Drupalu 8, ale pro sedmičku hovoří stabilita a vyzrálost. Bezpečnostní aktualizace jádra a modulů nevycházejí tak často, je zde na rozdíl od osmičky minimum chyb, vše je odladěné, není problém sehnat doplňkové moduly prakticky na cokoli. Člověk tak sáhne k programování jen v případech, kdy potřebuje udělat něco speciálního, nemusí se zdržovat běžnými věcmi.
Za několik posledních týdnů jsem si uvědomil, že jsem natrefil na řadu doplňkových modulů pro Drupal 7, které jsem za ty roky viděl poprvé a přesto mi připadají velice užitečné. Jejich seznam jsem sestavil do tohoto článku. Věřím, že alespoň pár těchto modulů se vám bude hodit i u vašich projektů.
Elements, Field placeholder, Webform Hints, Field default token
První tip se váže k sadě modulů upravujících formuláře. Modul Elements přidává do Drupalu 7 podporu několika nových typů formulářových políček jako url, email, search, tel, number z HTML5 a také atributy z nového HTM. Já jej nejčastěji využívám k tomu, abych pomocí Forms API mohl doplňovat atribut placeholder k formulářovým položkám.
Moduly Field placeholder a Webform Hints slouží k doplnění výchozího placeholderu do políček u formuláře pro vytváření obsahu a do formulářů tvořených modulem Webform. Smysl druhého je asi jasný, první využívám v případě, kdy je uživatelům ve frontendové části nabídnut formulář pro vytváření obsahu.
Poslední z této pětice, Field default token, slouží k předvyplnění políček v obsahovém formuláři (i jinde). Zatímco placeholder můžete přiřadit do políček, která uživatel v podstatě nemusí vyplnit, výchozí hodnotu dáváte do políček, kde chcete uživateli usnadnit práci a víte, že výchozí hodnotu bude přepisovat málokdy. Pole obsahového formuláře umí výchozí hodnotu samy o sobě, ale nelze do nich vložit token.
Praktické využití tohoto modulu tedy může být takové, že na eshopu vytvoříte u uživatelského profilu políčka pro zadávání adresy a skutečného jména daného uživatele. Když pak bude vyplňovat objednávku tvořenou obsahovým uzlem, pak už v ní budou předvyplněna políčka pro zadávání adresy tím, co má uživatel ve svém profilu uvedeno. Stačí, abyste u typu obsahu pro objednávku nastavili správné tokeny. Využívám to poměrně často ve spojení s jednoduchým nakupovacím modulem Basic Cart, na kterém eshopy stavím.
Views Load More
Jednoduchý modul Views Load More přidává další možnost, jak nastavit stránkovač ve Views. Zapnete si AJAX, nastavíte tento stránkovač a uživatelům se pod výpisem objeví tlačítko, kterým do stávající stránky načtou další záznamy z daného výpisu.
Entityform, Entityform Block
Modul Webform pro sběr dat od uživatelů a vytváření nějakých pokročilejších dotazníků asi znáte. Modul Entityform slouží k tomu samému. Rozdíl mezi nimi však spočívá v tom, že formuláře Entityform využívají klasická formulářová políčka modulu Field, včetně těch, jejichž podporu si do Drupalu můžete doinstalovat. Fungují tu i výše zmíněná rozšíření pro podporu tokenů, placeholderů a dalších věcí. Naproti tomu Webform využívá jen omezenou sadu vlastních typů polí.
Entityform navíc dovede mnohem jednodušeji zobrazovat získaná data pomocí Views. Oproti Webformu má ale značně složitější nastavení pro posílání hodnot z vyplněného formuláře na e-mail. A k zobrazení v podobě bloku potřebuje Entityform Block.
Ajax form entity
Potřebujete ukládat obsah z formuláře AJAXem? Potřebujete odesílat články, obsah nebo formuláře Entityform AJAXem? Není problém. Stačí si doinstalovat modul Ajax form entity a sdělit mu, kde chcete tuto funkcionalitu zapnout a zda se po odeslání formuláře mají získaná data někde na stránce zobrazit, nebo zda si vystačíte s hláškou o odeslání.
Responsive Favicons
K datum vydání tohoto článku Maxiorel není zrovna ukázkou vzorového nasazení favicons. Mám tu jen klasickou, 16 x 16 bodů. V momentě, kdy si takovou stránku uložíte někam na plochu, zvláště v mobilních zařízeních, bude její ikonka značně ošklivá, případně se použije nějaký zástupný symbol. Máte-li však potřebný obrázek v rozměrech alespoň 260 x 260 px, koukněte na web Real Favicon Generator. Vygenerujte si tam sadu ikonek pro různá zařízení.
Následně si do Drupalu doinstalujte modul Responsive Favicons, do kterého vložíte vygenerovaný kód s implementací všech myslitelných druhů ikonek webu. Ty si nahrajete na web a určíte složku, kde se nacházejí. Případně můžete nahrát rovnou celý připravený balíček z Real Favicon Generatoru a modul nastaví vše potřebné.
Slick Carousel, Slick Views
Znáte slick? Jeho autoři tvrdí, že jde o poslední carousel, který budete kdy potřebovat. Já na něj narazil už před delší dobou, když jsem hledal něco jiného k Symfony. Slick používá CSS3, je plně responzivní, podporuje přetahování prstem na dotykových zařízeních, nekonečné rolování obrázků, filtrování a nespočet dalších věcí. Nechcete-li jej implementovat do Drupalu ručně JavaScriptem, sáhněte po modulu Slick Carousel. Pravděpodobně využijete i jeho rozšíření Slick views.
Ajax Throbber
Funkci, kterou nabízí tento modul, jsem hledal při stavbě jednoho eshopu. Potřeboval jsem něco, co znepřístupní klikání na další části webu v momentě, kdy probíhá nějaký přepočet věcí v košíku. Určitě by se našly i další scénáře, kdy něco podobného potřebujete. A právě k tomu poslouží modul Ajax throbber. Určitou nevýhodou je nutnost jeho nastavení přes settings.php, což by ale měla řešit aktuální vývojová verze, kterou jsem ještě nezkoušel.
Editable Views
Představte si přehled nějakého obsahu vypsaný modulem Views. A situaci, že byste si po vyfiltrování nějakých položek rádi upravili jejich hodnoty bez toho, že byste museli postupně chodit do jejich editace, měnit to, ukládat a čekat na opětovné načtení výpisu. Tohle vám umožní modul Editable Views. Po instalaci pak u políček přidávaných do Views najdete i jejich „editable“ podobu.
Views Natural Sort
Dobře. Výpisy pomocí Views vám nedělají problém, ale přemýšlíte nad tím, jak upravit některé řazení tak, aby dávalo větší smysl. Potýkat se s The nebo A v češtině nemusíme, tipuji však, že už vám někdy dělalo problém řazení, kdy číslo 10 na začátku nějakého výrazu, způsobilo jeho zařazení před položku, která začínala číslem 2 a mezerou. Views to prostě seřadí abecedně. Správně řadit dle hodnoty umí jen vyloženě číselná pole.
Ale i toto má řešení. Stačí si doinstalovat modul Views Natural Sort.
Webform Confirm Email Address, Webform Import, Webform MySQL Views, Webform Views Bulk Operations
Na závěr jsem si nechal sadu doplňkových rozšíření pro modul Webform. S touto kombinací obvykle stavím řešení pro posílání newsletterů přímo z webu. Nepotřebuji tak modul Simplenews, u něhož mi vadí, že newslettery vytváří jako obsahové uzly bez možnosti větší kontroly.
Takže vytvořím si klasický Webform pro zadání e-mailové adresy a případných dalších údajů. Modulem Webform Confirm Email Address nechám lidem zaslat potvrzení k tomu, že formulář opravdu vyplnili oni a že se tedy k newsletteru skutečně přihlašují.
Modul Webform Import používám k importu dosavadních odběratelů z CSV, pokud stavím web nahrazující nějaký už běžící. Kombinaci Webform MySQL Views a Webform Views Bulk Operations pak k hromadné práci s jednotlivými záznamy z formuláře. K tomu všemu pak jen dopisuji pomocný modul, který v rámci dávkových operací sestavuje tělo newsletteru (například z vybraných uzlů a ručně vložených textů nad a za zvolený seznam).
To je vše. Budu rád i za zpětnou vazbu, pokud mi dáte vědět, zda vám některý z těchto modulů pomohl, případně jej již používáte a já jsem jediný, kdo jej donedávna neznal nebo nepoužíval.
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
Nedávno jsem řešil zobrazování odpovědí na dotazy a administraci s tím spojenou. Docela pomohl modul Webform entity.
Velmi zajímavé i užitečné moduly, díky