Select Feld - Optionen mit Ländern füllen
am 27.02.2015 - 10:52 Uhr in
Hallo liebe Gemeinde,
ich möchte in einem Formular in einem Select- Feld die Optionen Länder auswählen können und diese natürlich nicht alle mit der Hand eingeben. Gibt es eine Möglichkeit, diese aus Drupal zu importieren?
Mein Select- Feld sieht in etwa so aus:
<?php
$form['land'] = array(
'#type' => 'select',
'#title' => 'Land',
'#options' => array(
'Deutschland',
'Rest der Welt',
),
);
?>- Anmelden oder Registrieren um Kommentare zu schreiben

country_get_list()
am 27.02.2015 - 11:04 Uhr
Moin.
Dafür kannst Du einfach die Funktion [api:country_get_list:7] verwenden:
<?php$countries = country_get_list();
$form['country'] = array(
'#type' => 'select',
'#title' => t('Country'),
'#options' => $countries,
);
?>
hth,
Stefan
Hallo,
am 27.02.2015 - 11:06 Uhr
hast Du denn die Länder schon irgendwo in Drupal?
Alternativ würde ich doch die Länder als Taxonomie Terms erstellen.
Diese kannst Du auch per CSV importieren.
MfG
Robert
'#default_value' =>
am 27.02.2015 - 12:06 Uhr
Vielen Dank!
Wie kann ich jetzt den Wert standartmäßig auf 'Deutschland' setzen? Über '#default_value'?
Ja, korrekt mit
am 27.02.2015 - 12:13 Uhr
Ja,
korrekt mit #default_value
LG
und wie?
am 27.02.2015 - 12:48 Uhr
Was müßte ich dort reinschreiben?
Hi,
am 27.02.2015 - 12:55 Uhr
wenn Du weisst welchen index Deutschland in
$countries
hat
angenommen Deutschland ist der erste index (0)
<?php$countries = country_get_list();
$form['country'] = array(
'#type' => 'select',
'#title' => t('Country'),
'#options' => $countries,
'#default_value' => $countries[0],
);
?>
oder den Wert der #default_value
<?php$countries = country_get_list();
$form['country'] = array(
'#type' => 'select',
'#title' => t('Country'),
'#options' => $countries,
'#default_value' => 'Deutschland',
);
?>
MfG
Dachte ich auch
am 27.02.2015 - 13:17 Uhr
Hatte ich auch schon versucht, geht aber nicht. Das Select- Feld bleibt auf dem ersten Eintrag ('Afganistan' stehen.
Hallo,probier mal als
am 27.02.2015 - 13:31 Uhr
Hallo,
probier mal als default_value $countries['DE'] oder so etwas.
Die Funktion welche du verwendest liefert dieses Array zurück:
https://api.drupal.org/api/drupal/includes!iso.inc/function/_country_get_predefined_list/7
folglich ist der Schlüssel "DE" und der Wert "Deutschland".
MfG
Robert
PS:
oder mit so etwas meinte ich den Schlüssel als default_value benutzen
'#default_value' => 'DE',[gelöst]
am 27.02.2015 - 15:38 Uhr
Super, Danke!
Ich hatte es zwar so auch schon probiert, aber ging nicht. Dachte ich läge falsch. Jetz läuft#s aber, prima.