Webform E-Mail ohne leere Felder versenden
am 17.12.2008 - 09:40 Uhr in
Hallo,
ich habe hier ein PHP-Problem mit Webform, bei dem ich alleine nicht weiter komme.
Folgende Situation:
ich habe ein Webform-Formular mit einigen fieldsets (!!!) angelegt. Dieses Formular ist recht groß - aber nicht alle Felder werden immer ausgefüllt.
Nun ist es aber derzeit so, dass in der E-Mail, die von Webform versendet wird, auch immer die Beschriftungen der leeren Felder eingefügt werden, was die Mail sehr unübersichtlich macht (Kritik: wo sind eigentlich die wichtigen Angaben in der Mail ...)
So, nun habe ich prinzipiell schon herausgefunden, wie man das Problem angehen kann (dank Tipp auf drupal.org):
Anlegen eines templates vom webform-mail-Template im eigenen theme-Ordner.
Dort an der richtigen Stelle folgenden php-code einfügen
<?php
// Print out all the Webform fields. This is purposely a theme function call
// so that you may remove items from the submitted tree if you so choose.
// unset($form_values['submitted_tree']['element_key']);
foreach ($form_values['submitted_tree'] as $key => $value) {
if ($value == '') {
unset($form_values['submitted_tree'][$key]);
}
}
print theme('webform_mail_fields', 0, $form_values['submitted_tree'], $node);
?>
Problem ist hierbei allerdings, dass es so für mich nicht funktioniert, da ich mit fieldsets arbeite. Hier muss irgendwie noch einmal der Inhalte vom $value durchsucht werden, der sich derzeit scheinbar auf das jeweilige fieldset bezieht. Ich habe aber überhaupt keine Ahnung, wie ich da vorgehen muss und wie die Inhalte korrekt angesprochen werden.
Kann mir hier jemand von euch weiterhelfen?
Vielen Dank und viele Grüße
vistree
- Anmelden oder Registrieren um Kommentare zu schreiben
Link zum Originalartikel
am 23.12.2008 - 17:23 Uhr
Hallo vistree,
ich hab zwar keine Lösung, aber für alle, die helfen wollen, ist es vielleicht gut, deine bisherigen Bemühungen auf drupal.org zu kennen: http://drupal.org/node/347361
Eine ganz gute Einleitung, wie Formulare aufgebaut sind, gibt's hier: http://www.lullabot.com/articles/modifying-forms-5-and-6
Gruß
Frank
Gruß
Frank
Bitte Erledigtes im Betreff des ersten Postings als [gelöst] markieren. Danke!
Hallo Frank, danke für den
am 23.12.2008 - 18:03 Uhr
Hallo Frank,
danke für den Hinweis und den Link auf drupal.org. Hätte ich ja selber auch drauf kommen können ;-)
Leider geht es dort einfach nicht weiter und ich brauche hier unbedingt eine Lösung, da die E-Mail-Empfänger derzeit echt nen Anfall kriegen ;-)
Leider habe ich immer noch nicht rausgefunden, wie ich eine erneute Schleife durch ein untergeordnetes Array starten kann. Das man prüfen kann, ob ein Array vorliegt weiß ich schon (value = 'Array') aber wie spreche ich dieses neue Array dann an??
Viele Grüße
vistree