Používáte Drupal a pustili jste se již do tvorby webu s Drupalem 8? Možná jste při potřebě vygenerování nějakého formuláře, který by sbíral data a posílal je na e-mail, narazili na několik nejasností. Na rozdíl od sedmičky totiž v Drupalu 8 vůbec není jasné, kterým řešením se ubírat.

Máte totiž několik možností, jak se do tvorby formulářů v Drupalu 8 pustit. Myslím formulářů, které se dají naklikat uživatelem z administračního rozhraní. Nebavím se nyní o formulářích generovaných vaším vlastním modulem.

Výchozí kontaktní formulář a jeho rozšíření vlastními políčky

Použití základního kontaktního formuláře v Drupalu 8 je nyní vylepšeno o možnost přidat si k němu vlastní políčka. To v Drupalu 7 možné nebylo a použití kontaktního modulu to dosti limitovalo. Nepotřebujete-li tedy ukládat data z formulářů do databáze a stačí vám jednoduchý mail, který se někam odešle, máte vyřešeno.

Já občas sáhnu ještě po pár doplňcích:

  • Contact Block – umožní vložit kontaktní formulář do libovolného regionu jako blok
  • Contact Storage – ukládá odeslané e-maily do databáze a navíc má několik dalších rozšíření

Webform

Chvíli to vypadalo, že Drupal 8 nebude mít tento oblíbený modul, který se v předešlých řadách Drupalu hojně používal. Nyní je ale k dispozici alespoň betaverze Webformu, která však vzniká migrací nové řady modulu YAML Form.

eForm

Modul eForm měl být pokračováním modulu Entityform. Ten v Drupalu 7 sloužil podobně jako Webform k naklikání formulářů přímo v administraci, sběru dat, jejich posílání na mail a podobně. Oproti Webformu neřešil políčka vlastním způsobem, ale přímo pomocí Fields API jako jádro Drupalu. To mu umožnilo používat nejrůznější typy polí poskytované rozšiřujícími moduly.

V Drupalu 8 existuje nějaký polofunkční vývojový pokus, ale není stabilní a použitelný v produkčním webu. Navíc autoři zvažují, zda je tento modul potřeba. Podle mého je to nyní slepá ulička.

YAML Form

Tento modul vypadá nejvíce nadějně. YAML Form slouží k definici polí formulářů, sběru dat, posílání mailem a má i různá další rozšíření. Jeho vývoj se aktuálně ale zastavil, a to ve prospěch modulu Webform, do kterého bude zmigrován.

Ukázka použití modulu YAML Form je k vidění na následujícím videu:

Shrnuto a podtrženo. Pokud nepotřebujete nějaké pokročilé funkce navíc, zkuste si vystačit se základním kontaktním modulem a jeho rozšířeními. Po dokončení finální verze a migrace z YAML Formu by měl být hlavním formulářovým modulem pro Drupal 8 modul Webform.