Drupal a Webform: jak na vizuálního návrháře formulářů v redakčním systému

Potřebujete na svém webu se systémem Drupal vytvářet formuláře? Pak asi znáte modul Webform. Možná ale ne všichni z vás znají také modul Form Builder, který do Drupalu přidá vizuálního návrháře formulářů. Komponenty pak jen stačí přetahovat ze zásobníku.

Reklama

Modul Webform patří k nejpoužívanějším rozšiřujícím modulům pro Drupal. Umožňuje vám přímo z administrace vyvářet různé formuláře, které čtenáři webu následně vyplňují. Takto posbíraná data jsou na webu uchovávána, je z nich možno provádět export do Excelu a dalších formátů, prohlížet si je ve webovém rozhraní nebo je automaticky odesílat na zadaný e-mail.

Webform má ale pro některé lidi drobnou nevýhodu. Definice políček formuláře pro ně není úplně uživatelsky přívětivá. Když se podíváte na nějaké specializované webové služby pro tvorbu formulářů, obvykle najdete rozhraní, ve kterém přetahujete jednotlivé položky ze seznamu komponent na nějakou plochu a následně vybraným položkám formuláře upravujete jejich vlastnost.

Právě k něčemu takovému slouží i modul Form Builder, který vám ukážu na následujícím videu.

Form Builder samozřejmě není jediné vylepšení Webformu, celou řadu dalších najdete na jeho domovské stránce. Doporučuji například Webform Validation nebo MIME Mail pro odesílání HTML zpráv a příloh.

Připomínám, že existuje také trochu jiný nástroj pro tvorbu formulářů v Drupalu, a sice modul Entityforms, který umožňuje formuláře tvořit z políček, jaké máte například u definic obsahu. Je tedy založen na entitách a modulu Field. Pro někoho může být zajímavá jeho kombinace odesílání zpráv na mail ve spolupráci s pravidly definovanými modulem Rules.

Na můj vkus je však modul Entityforms příliš těžkopádný a na rozdíl od Webformu vyžaduje spoustu věcí navíc.

Zde jsou pro pořádek odkazy na moduly zmíněné ve videu:

Reklama

Komentáře

Vdaka za clanocek a videonavod, velmi uzitocne info. +1

Dobrý den,
webform je dobrá věc, je možné ale omezit počet vyplněných formulářů? Myslím tím počet přihlášených lidí na akci, že vyplňující uvidí, že se hlásí jako třeba 2 z 10 a po vyčerpání 10 přihlášených se formulář zablokuje nebo něco podobného. Jedná se o Drupal 7.
Našel jsem, že v Drupalu 6 byl modul signup, ale pro 7 zatím není...

Možná je to už někde řešeno, tak se omlouvám za duplicitu, stačí nasměrovat. Děkuji

No, já jsem to řešil několikrát, ale musel jsem napsat vlastní modul, který se navěsí na formulář a kontroluje to. Využil jsem to třeba u registrace do zápisu pro prvňáčky nebo u registrací do kurzů kreslení.

Přímo ve Webformu máte nastavení Total Submissions Limit a User Limit. To Vám zajistí aspoň to, že to nevyplní více lidí. Info, kolik lidí to už vyplnilo, byste ale musel řešit buď vlastním modulem nebo možná i časově komplikovaněji pomocí Views, Data a Webform MySQL Views. S tím vlasním modulem to bude jednodušší. Pomocí hook_form_alter() se napojíte na formulář a upravíte jej dle potřeby.

Jestli existuje nějaký hotový modul, nevím.

Tvořím weby. Nabízím poradenství pro Drupal. Jsem na Twitteru.

Děkuji za rychlé info. Bude mi stačit Total Submissions Limit a User Limit. Ostatní je už na mě, jako skoro laika moc :) Vyzkouším.

Přidat komentář