7 důvodů proč je strohý Contact Form 7 nejlepším formulářovým pluginem pro WordPress

Zdálo by se, že otřesnější uživatelské rozhraní pro tvorbu formulářů, než nabízí plugin Contact Form 7, byste těžko pohledali. Jenže to je jenom první dojem. Čím více s ním budete pracovat coby tvůrce webu, tím raději jej budete mít. Zkusím vás přesvědčit.

Byly doby, kdy jsem si při přepínání mezi opravdu vymakaným modulem Webform pro Drupal a pluginem Contact Form 7 pro WordPress říkal, jak vůbec může být taková hrůza populární. Mnohokrát jsem uvažoval, že si raději zaplatím nějaké pokročilejší řešení pro tvorbu formulářů ve WordPressu. Například Fluent Forms či něco podobného.

No jo. Jenže roky praxe člověka změní. Ano, Contact Form 7 má pro koncového uživatele, resp. editora webu, naprosto tragické uživatelské rozhraní. Jenže má tolik výhod pro tvůrce webu, že to možná pár počátečních nevýhod vyváží.

Image
Plugin Contact Form 7
Plugin Contact Form 7 a poměrně strohá administrace přípravy formuláře

Maximální kontrola nad layoutem i vzhledem

To, co vypadá jako uživatelsky nepřívětivé rozhraní pro tvorbu formuláře, je ve skutečnosti mocný nástroj. Pro začátečníka či laika má nevýhodu, že se musíte hrabat v HTML kódu, kterým políčka ve formulář obalíte, abyste dosáhli pěkného zobrazení. Nemluvě o tom, že se neobejdete bez doplnění CSS.

Jenže na druhou stranu coby vývojář nebo tvůrce, který web s WordPressem někomu staví, máte velkou svobodu v tom, jak zařídíte výsledné zobrazení. Layout a do jisté míry i chování všech políček si upravíte podle sebe. Nejste závislý na nastavení v nějakém grafickém udělátku. Stejně tak nemusíte pracně odpárat nějaké výchozí stylování prvků ve formuláři, protože, ruku na srdce, při tvorbě webu většinou budete chtít dodržet dodaný design od grafika.

Image
Formulář postavený pomocí Contact Form 7
Formulář postavený pomocí Contact Form 7 na webu Alfred.energy

Speciální značky a propisování hodnot

Četli jste dokumentaci pluginu? Už jsem viděl řadu webů, které do formuláře složitě doplňovaly nějaké globální hodnoty či údaje z aktuálně zobrazené stránky pomocí PHP či JavaScriptu. Contact Form 7 přitom umožňuje vložit speciální značky, které do odeslaných dat doplní řadu ze zmíněných údajů.

Já u webů dost často používám propsání názvu aktuálního příspěvku [_post_title] nebo URL [_post_url].

Rozsáhlý ekosystém

Samozřejmě, jednou budete určité funkcionality v Contact Form 7 postrádat. Typicky třeba vícekrokové formuláře, drag’n’drop upload nebo podmíněné zobrazování políček na základě hodnot polí jiných. Vzhledem k bezbřehé popularitě CF7 není divu, že vyrostl celý ekosystém pluginů, které v řadě případů zcela zdarma rozšiřují jeho základní funkce.

Tip: u těch podmíněných polí si dnes často poradíte i jen s pomocí CSS. Například ve scénáři, kdy se nějaké pole zobrazí až po zakliknutí zatrhovátka, lze s úspěchem aplikovat pseudo třídy :has a :checked.

Pravidla pro mailování

I bez doplňkových pluginů snadno nastavíte mailování dat z formulářů, a to včetně nahrávaných souborů, které jsou do mailu vloženy coby přílohy. Mailů z jednoho formuláře lze odeslat vícero, například jednou provozovateli webu a podruhé coby potvrzení uživateli vyplňujícímu formulář.

Contact Form 7 umí také dodatečné hlavičky. Ty využijete například pro doplnění normální nebo slepé kopie. Ve výchozím nastavení je zde připraveno odeslání ze systémové adresy a mailová adresa z formuláře je specifikována jako dodatečná hlavička Reply-To. Zajistíte tak doručitelnost mailu.

Ukládání dat z formulářů

Jedna věc, která výchozí výbavě Contact Form 7 určitě chybí, je ukládání dat z formulářů do databáze. Pokud totiž selže odeslání e-mailu, a že se to stává docela často, data budou stále k dispozici a majitel webu nepřijde o poptávky a podobné zprávy.

Přímo autor pluginu Takayuki Miyoshi nachystal řešení v podobě rozšíření Flamingo. V podstatě jej beru jako takovou externí součástku Contact Form 7. Flamingo automaticky ukládá všechny odeslané formuláře do samostatné tabulky v administraci, kde si je lze kdykoli prohlížet. Rovněž vytváří jakýsi virtuální adresář na základě vyplněných dat.

Snadné napojení na externí služby

Poměrně často máme požadavky k napojení odesílaných formulářů na externí služby. Těmi jsou rozesílače newsletterů nebo různé firemní systémy a adresáře. Contact Form 7 se mi z pohledu vývojáře líbí i proto, že s pomocí hooku wpcf7_submit je možné se snadno napojit na proces zpracování dat a předat je kamkoli dál.

Pokročilé nastavení

Poněkud podceňované je políčko Další nastavení, které najdete na samostatné kartě v definici formuláře. Dokumentace uvádí celou řadu parametrů, kterými ovlivníte chování formuláře. Opět, v duchu Contact Form 7 to není úplně UX dotažené, ale zase sem snadno doplníte jakékoli další nastavení pro případné pluginy, které rozšiřují základní funkce CF7.

Líbí se mi demo režim pro odesílání formuláře bez ukládání a zpracování dat a přeskakování mailů. Výborně se hodí pro ladění formuláře. Do stejného místa také vložíte řadu nastavení z pluginu Flamingo, kterými ovlivníte, jak budou vypadat uložená data z formulářů.

JavaScriptoví vývojáři zase využijí momentálně sedm dostupných DOM událostí, které se pojí se zpracováním dat ve formuláři.

Bonus: je opravdu zdarma

Kladnou vlastností Contact Form 7 je skutečnost, že je opravdu zdarma. Není to freemium plugin, který by fungoval částečně zdarma a další funkce nabízel na bázi ročního předplatného. Ani vám administraci WordPressu nezaplevelí hromadou reklam.

Tip: Využíváte v Contact Form 7 Schema-Woven Validation? S její pomocí lze do atributu pattern specifikovat požadovaný formát hodnoty v políčku formuláře. Nikoli jen to, že bude povinná k vyplnění. Typicky tak vnutíte pět číslic pro PSČ, správný formát telefonu a podobně.

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

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.

Komentáře k článku

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru