webform - select Liste mit Node-Titeln dynamisch füllen
Eingetragen von SteffenR@drupal.org (2262)
am 24.04.2009 - 20:11 Uhr in
am 24.04.2009 - 20:11 Uhr in
Ich habe mir mithilfe des Moduls Webform (webform 6.x-2.6) ein Anfrageformular mit einigen Feldern erstellt. Dies ist soweit ja kein Problem.
Über die Komponente "select" möchte ich nun dynamisch die Node-Titles eines bestimmten Inhaltstyps auslesen lassen - dies habe ich auch schon über eine Funktion abbilden können.
function ferienhausliste()
{
$sql = "SELECT node.nid AS nid, node.title AS node_title
FROM ug_node node
WHERE (node.type in ('ferienhaus')) AND (node.status <> 0) ";
$rs= db_query($sql);
$uebergabe = '';
while ($erg = db_fetch_array($rs)){
$uebergabe .= $erg['node_title'].'|'.$erg['node_title'].' \n ';
}
return $uebergabe;
}
Im Normallfall werden die "optionen" für die "select" - Komponente in der Form
wert1|name1
wert2|name2
wert3|name3
Durch einen eigens definierten Token binde ich die Funktion ferienhausliste im Feld Optionen ein..
%ferienhaus_liste
Die Ersetzung funktioniert schon - nur leider in der folgenden Form (ohne die benötigten Zeilenumbrüche für die einzelnen select-Optionen.
ferienhaus1|Ferienhaus Name 1ferienhaus2|Ferienhaus Name 2ferienhaus3|Ferienhaus Name 3
Dadurch habe ich natürlich nur eine Option zur Auswahl in der Select Liste.
Wieso wird der Zeilenumbruch hier nicht übernommen ? Normalerweise sollte dies doch durch "\n" erfolgen..
Grüße,
SteffenR
- Anmelden oder Registrieren um Kommentare zu schreiben
Zeilenumbruch
am 25.04.2009 - 16:58 Uhr
Moin!
Wie Spartacus gerade schon im IRC erwähnte, musst Du
"\n"
anstatt'\n'
verwenden. Ansonsten wird das von PHP nicht als Zeilenumbruch, sondern einfach als Zeichenkette mit diesen zwei Zeichen angesehen.hth,
Stefan
--
2 Personen mit Halbwissen sind schlimmer, als eine unwissende Person.
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
versuch es mal
am 25.04.2009 - 16:59 Uhr
versuch es mal hiermit:
<?php
function ferienhausliste() {
$sql = "SELECT node.nid AS nid, node.title AS node_title
FROM ug_node node
WHERE (node.type in ('ferienhaus')) AND (node.status <> 0)";
$rs = db_query($sql);
$uebergabe = '';
while ($erg = db_fetch_array($rs)){
$uebergabe[] = $erg['node_title'] .'|'. $erg['node_title']. "\n";
}
return $uebergabe;
}
?>
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
@Spartacus: Du hattest im
am 25.04.2009 - 19:18 Uhr
@Spartacus: Du hattest im IRC vorhin ja noch den hook_form_alter erwähnt. Damit ließ sich das Problem dann lösen..
Danke für die Unterstützung..
Grüße aus BS,
SteffenR
http://www.twitter.com/_steffenr
Drupal-Initiative e.V.