Sziasztok!
Testreszabott contact formot szeretnék elhelyezni az oldalamon. A beépített Contact modul előnye, hogy eleve többnyelvű (megvannak a megfelelő fordítások a mezőkhöz), hátránya, hogy plusz fieldek nem adhatók hozzá "out of the box" a core-ban (ami mondjuk számomra furcsa, hogy miért nem került be mondjuk a többi content type-hoz, ahol szabadon adhatók hozzá fieldek, vagy más módon miért nem testreszabható).
A lehetséges kerülő megoldások (ugyanezt mások is leírták már előttem Drupal Stack Exchange-en: [link]):
- saját modul, a megfelelő
hook_form_FORM_ID_alter()
(konkrétan:hook_form_contact_site_form_alter
),hook_mail_alter()
(azonbelül$message['id']=='contact_site_form'
vizsgálata) hookok implementálásával: melós (meg kell írni a validáló függvényeket is, a végső formátumot is beleírni kódba, nem módosítható szépen admin-felületen (csak ha megírjuk az ehhez tartozó részt is külön), stb.), főleg ha vannak alternatívák - más modulok felhasználása:
- 7-eshez a Contact form fields modul is még erősen dev állapotban van
- Webform modul: talán még ez a legegyszerűbb megoldás, ami egyben ésszerű is: nagyon könnyű grafikus felületen hozzáadogatni újabb fieldeket, átszabni a meglévőket, a Webform Validation segítségével a validálást is változtatgatni szép admin-felületen, stb.
Egy hátránya ennek is van: a többnyelvűség érdekében - legalábbis eddig jobbat nem találtam - minden nyelvhez külön-külön el kell készíteni ugyanazokat a webformokat, ahogy pl. egy cikkhez is lehet többnyelvűséget létrehozni.
Készítettem egy példaként szolgáló contact formot, ez az első, angol nyelven létrehozott webform, miután a "Content types"-nál, a Webformon belül (/admin/structure/types/manage/webform) beállítottam a "Publishing options"-nél, hogy "Enabled, with translation", a "Multilingual settings"-nél pedig azt, hogy "Require language (Do not allow Language Neutral)." (plusz az angol nyelvre azt, hogy "Set current language as default for new content.", de ez mellékes a lényeg szempontjából):
Maga a Webform egy példa jellegű contact formra, látható a többnyelvűség:
http://i.imgur.com/JSNgA.png
Itt a szerkesztés fül:
http://i.imgur.com/CchDe.png
a fieldek a Webform fülön:
http://i.imgur.com/o3xWB.png
Translate fül:
http://i.imgur.com/zZD2Y.pngEz pedig ugyanennek a magyarra fordított változata, látható, hogy nincsenek fieldek, így azokat a Webform fülön újra létre kell hozni (a validálást szintén):
http://i.imgur.com/O0Yp0.png
Webform fül (egyelőre üres, mert ehhez a nyelvhez nem hoztam létre a fieldeket újból):
http://i.imgur.com/0ayBD.png
Kíváncsi vagyok, Ti melyik megoldást választanátok erre?
A Webform úgy tűnik, a lehető legegyszerűbben összekattintgatható megoldás az említett problémára, de a hátránya, hogy minden nyelven el kell készíteni. Persze ez mondjuk azon a plusz általában max. 2-3 nyelven nem a legnagyobb gond (időben is esélyes, hogy kevesebbet emészt fel, mint a saját modul írása), de mégis felvetem a kérdést, mi a véleményetek erről.
Mindegyik módszernek van előnye és hátránya is, Ti hogyan közelítitek meg a kérdést?
Köszi!
csakis
+1 a webformnak
Drupal full-stack developer at Wunderman Thompson Budapest
Webform szerintem is...
...annál is inkább, mert már formálódik a Webform Localization modul, persze még csak sandbox, de jó lesz, én már használtam is :)
Védd az állatokat! ;)
És milyen?
csakiistvan, szt : köszönöm a válaszokat, akkor úgy tűnik, valóban marad a Webform.
szt : ha már próbáltad a Webform Localizationt: milyennek találod? Kiválthatná a fenti node-fordítgatást, ahol minden webformot nyelvenként hozok létre?
Kétféle fordítást támogat, ez
Kétféle fordítást támogat, ez a settings oldal.
http://i44.tinypic.com/2vlvgyf.jpg
Kicsit kényelmetlen még a beállítása, de lehet használni már.
Védd az állatokat! ;)
Webform rulez
Köszi a screenshotot! Így már látszik, miről is lesz szó, remélhetőleg sokat fog még fejlődni.
Egyelőre mégis maradok a manuális létrehozogatásnál nyelvenként, tulajdonképpen megvoltam az egésszel kb. max. 20 perc alatt, amiben benne volt az agyalás, hogy mi is legyen a megfelelő fordítás adott kifejezésekre.
Hogy lezárjam a kommentemet: a Webform erényei vitathatatlanok!! :D