[gelöst] Webform - Anordnung der Labels

am 06.02.2010 - 11:34 Uhr in
Hallo zusammen,
ich habe mir mit Hilfe von Webform ein eigenes Kontaktformular erstellt, dass mehrere eigene Felder hat. Ich würde allerdings gerne die Labels anders anordnen, dazu müsste ich z.B. bestimmte Felder gruppieren, z.B. so:
Vorname, Nachname [EINGABEFELD] [EINGABEFELD]
So wie ich das sehe, kann ich mit Webform nur folgende Form erstellen:
Vorname [EINGABEFELD] Nachname: [EINGABEFELD]
Gibt es eine Möglichkeit die erste Variante umzusetzen? Theme Developer spuckt mir leider nicht aus, welche Funktion dahinter steckt.
Viele Grüße
Martin
- Anmelden oder Registrieren um Kommentare zu schreiben
Theming?
am 06.02.2010 - 17:17 Uhr
Hm,
ich weiß, dass ich über webform-form.tpl.php eigentlich alles anpassen sollen könnte. Ich bin über die Suche auch auf diese Seite gestossen: http://drupalcode.org/viewvc/drupal/contributions/modules/webform/THEMIN...
Leider steht da auch nicht, wie ich zwei Textfelder nebeneinander stellen kann und die beiden Labels davor platzieren kann. Konkretes Beispiel, die Ausgabe soll so aussehen:
Vorname *, Nachname * ______________________ ______________________
Die Frage ist nur, wie ich das jetzt bewerkstellige. Ich könnte ja den Titel des ersten Textfeldes mit dem Titel des zweiten verbinden, dann steht da aber Vorname, Nachname *. Das heißt mir fehlt der required-Indikator beim Vornamen.
Es gibt leider auch keine guten Anleitungen und Dokumentationen zu Webform und deren Theming, oder finde ich die bloß nicht?
Danke & viele Grüße
Martin
Wie schaut dein derzeitiges
am 06.02.2010 - 20:54 Uhr
Wie schaut dein derzeitiges Webform Template aus ? Hast du die Formbestandteile "zerlegt" - sprich die einzelnen Felder händisch in deiner Theme Datei angelegt. Dies müsstest du für die Lösung deines Problems erst einmal machen.. Der "Rest" wäre dann eigentlich nur noch HTML / CSS Arbeit..
SteffenR@drupal.org
am 06.02.2010 - 22:06 Uhr
Wie schaut dein derzeitiges Webform Template aus ? Hast du die Formbestandteile "zerlegt" - sprich die einzelnen Felder händisch in deiner Theme Datei angelegt. Dies müsstest du für die Lösung deines Problems erst einmal machen.. Der "Rest" wäre dann eigentlich nur noch HTML / CSS Arbeit..
Hi,
was meinst du genau mit zerlegt? Meine Webform hat momenten nur 3 Felder: Anrede (select), Vorname (textfield) und Nachname (textfield). Wie genau muss ich die jetzt zerlegen? Ich hab z.b. schon herausgefunden, dass ich mit der Funktion theme_form_element($element) mir das Label ausgeben lassen kann. Es gibt aber - zumindest habe ich keine gefunden - Funktion, um mir das Textfeld ausgeben zu lassen, außer theme_textfield(). ABER: wenn ich jetzt jedes Element wieder per Hand zusammenbasteln muss, stellt sich mir die Frage, wofür ein Modul installieren, wenn ich am Ende das ganze Formular wieder per Hand bauen muss?
Oder sehe ich das jetzt richtig, dass ich jedes Element ungefähr so selbst erstellen muss:
<label for="vorname">$form['submitted']['persoenliche_daten‘]['vorname']</label>
Ich hoffe nicht :D
Im Endeffekt würde es bei
am 07.02.2010 - 18:39 Uhr
Im Endeffekt würde es bei deiner Anforderung darauf hinauslaufen, dass du dies wohl so machen musst - sprich im Template müsstest du die einzelnen Bestandteile der Form -also Eingabefelder / Labels im Template selbst anlegen..
Der Sinn des Moduls ist durchaus vorhanden - für "typische / normale" Formulare lässt sich der Output im Normalfall "out-of-the-box" nutzen bzw. im Nachhinein per CSS "umstylen" .. Ein Beispiel für eine CSS-gestylte Webform wäre hier.
In deinem Fall wäre dies vlt. auch über CSS möglich - dann aber über recht viel Frickelei..
SteffenR@drupal.org
am 07.02.2010 - 20:48 Uhr
Im Endeffekt würde es bei deiner Anforderung darauf hinauslaufen, dass du dies wohl so machen musst - sprich im Template müsstest du die einzelnen Bestandteile der Form -also Eingabefelder / Labels im Template selbst anlegen..
Gut, ist ja kein Thema, wenn es nicht anders geht, dann muss ich das Formular eben von Hand erstellen. Nur eine Frage noch: kan ich mir den Form-Tag generieren lassen?
Webform wird nicht mehr versandt
am 16.02.2010 - 17:05 Uhr
So,
ich habe jetzt mein Webform über webform-form-12.tpl.php so angepasst, dass die Ausgabe der entspricht, die ich will. Jetzt habe ich aber folgendes Problem: wenn ich auf "Senden" klicke, wird das Formular nicht mehr abgeschickt. Auch die Validierung funktioniert nicht mehr. Woran kann das liegen?
Du hast hier wahrscheinlich
am 16.02.2010 - 17:10 Uhr
Du hast hier wahrscheinlich die entsprechenden Form Token vergessen - diese müsstest du noch in dein Template reinpacken - dann sollte es auch klappen..
<input id="<?=$form['#build_id']?>" type="hidden" value="<?=$form['#build_id']?>" name="form_build_id"/>
<input id="<?=$form['form_token']['#id']?>" type="hidden" value="<?=$form['form_token']['#default_value']?>" name="form_token"/>
<input id="<?=$form['form_id']['#id']?>" type="hidden" value="<?=$form['form_id']['#value']?>" name="form_id"/>
SteffenR@drupal.org
am 16.02.2010 - 17:52 Uhr
Du hast hier wahrscheinlich die entsprechenden Form Token vergessen - diese müsstest du noch in dein Template reinpacken - dann sollte es auch klappen..
<input id="<?=$form['#build_id']?>" type="hidden" value="<?=$form['#build_id']?>" name="form_build_id"/>
<input id="<?=$form['form_token']['#id']?>" type="hidden" value="<?=$form['form_token']['#default_value']?>" name="form_token"/>
<input id="<?=$form['form_id']['#id']?>" type="hidden" value="<?=$form['form_id']['#value']?>" name="form_id"/>
Super! Danke :) Funktioniert wieder einwandfrei!