Formular modifizieren/ändern klappt nicht
am 16.04.2010 - 11:48 Uhr in
Hi,
ich hab mir dazu den Artikel von Lullabot angeschaut.
Nun habe ich folgende Funktionen in die template.php geschrieben:
function Futaxi_theme() {
return array(
// The form ID.
'user_register' => array(
// Forms always take the form argument.
'arguments' => array('form' => NULL),
),
'user_profile_form' => array(
// Forms always take the form argument.
'arguments' => array('form' => NULL),
),
);
}
function Futaxi_user_profile_form($form) {
// Our kickin' mods go here.
$form['picture']['#collapsed'] = TRUE;
$form['picture']['#collapsible'] = TRUE;
$form['picture']['#required'] = TRUE;
$form['picture']['#title'] = t('hoknki');
return dsm($form);
// print_r(array_values($form));
}
Wenn ich mir die Ausgabe von dsm anschaue, kann ich die Werte im Array ändern. ABER die Darstellung der eigentlichen Form ändert sich nicht. Bsp: Benutzerbild:
Ich ändere den Namen "Benutzerbild" in "hoknki". In der dsm-Ausgabe wird der neue Name angezeigt. Aber im eigentlichen Formular nicht.
Woran liegt das?
Danke,
viele Grüße Stefan
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich bin in der ganzen
am 16.04.2010 - 12:24 Uhr
Ich bin in der ganzen Form-API bislang nur sehr rudimentär drin und kenne auch nicht alle Funktionen und Interfaces. Aber für Vorhaben wie das Deine dürfte normalerweise hook_form_alter die Funktion der Wahl sein.
Hier ist grad mal ein Beispiel, das ich als diesbezüglich relativer Noob als kleines Modul ausgeführt habe und das so auch funzt:
function customforms_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'contact_mail_page') {
$form['submit']['#value'] = '';
$form['name']['#title'] = '';
$form['name']['#size'] = '35';
$form['name']['#default_value'] = 'Vor- und Nachname*';
$form['mail']['#title'] = '';
$form['mail']['#default_value'] = 'E-Mailadresse*';
$form['mail']['#size'] = '35';
$form['message']['#title'] ='';
$form['message']['#default_value'] = 'Ihre Nachricht*';
$form['message']['#resizable'] = FALSE;
$form['subject'] = NULL;
$form['copy']['#access'] = FALSE;
}
}
LG
Sonja
Drupal Freelancer im Rheinland gesucht?