Formular Textfeld zu Liste ändern

am 24.05.2013 - 10:17 Uhr in
Hallo,
für Drupal 6 hatte ich ein Modul, mit welchem ich ein bestimmtes Formular angepasst und validiert hatte...
nun versuche ich das für Drupal 7 anzupassen, bin aber schon in folgenden Punkten gescheitert:
Das Formular hat ein Datumsfeld, von welchem ich das Datumsfeld so lassen möchte, wie definiert (popup). Beim zugehörigen Zeitfeld soll der Benutzer nur aus verfügbaren Optionen auswählen können.
dazu versuche ich, zum Zeitpunkt after_build das time feld folgendermassen zu überschreiben:
$form['field_zeitpunkt'][und][0]['value']['time']=array('#type'=>'select');
$form['field_zeitpunkt'][und][0]['value']['time']['#options']=array('07:45'=>t('07:45 Lektion 1 '),'08:40'=>t('08:40 Lektion 2 '),'09:35'=>t('09:35 Lektion 3 '),'10:35'=>t('10:35 Lektion 4 '),'11:30'=>t('11:30 Lektion 5 '),'12:25'=>t('12:25 Lektion 6 '),'13:20'=>t('13:20 Lektion 7 '),'14:15'=>t('14:15 Lektion 8 '),'15:10'=>t('15:10 Lektion 9 '),'16:05'=>t('16:05 Lektion 10 '),'17:00'=>t('17:00 Lektion 11 '));
das arrayfeld 'time' kommt aber nie in $form_state an. dort bleibt dieses feld leer
währen das unveränderte ['date'] feld mit dem richtigen Wert ankommt
Was mache ich falsch? Was hat sich in diesem Zusammenhang bei Drupal 7 verändert?
Für Hinweise wäre ich sehr dankbar.
Gruss
Adriana
Mein Code sieht so aus (einiges z.B. [und] ist wegen Drupal 7 ergänzt, aber ansonsten hat das für Drupal 6 so ausgesehen und funktioniert...)
function rr_form_alter(&$form, &$form_state, $form_id){
if ($form_id == 'rr_node_form') {
$form['#validate'][] = 'rr_validate_custom';
$form['#after_build'][] = 'rr_after_build';
}
}
function rr_after_build($form, &$form_state) {
$form['field_zeitpunkt'][und][0]['value']['time']=array('#type'=>'select');
$form['field_zeitpunkt'][und][0]['value']['time']['#options']=array('07:45'=>t('07:45 Lektion 1 '),'08:40'=>t('08:40 Lektion 2 '),'09:35'=>t('09:35 Lektion 3 '),'10:35'=>t('10:35 Lektion 4 '),'11:30'=>t('11:30 Lektion 5 '),'12:25'=>t('12:25 Lektion 6 '),'13:20'=>t('13:20 Lektion 7 '),'14:15'=>t('14:15 Lektion 8 '),'15:10'=>t('15:10 Lektion 9 '),'16:05'=>t('16:05 Lektion 10 '),'17:00'=>t('17:00 Lektion 11 '));
$form['field_zeitpunkt'][und][0]['show_todate']=array('#type'=>'hidden');
$form['field_zeitpunkt'][und][0]['value2']['date']=array('#type'=>'hidden');
$form['field_zeitpunkt'][und][0]['value2']['time']=array('#type'=>'hidden');
$form['field_zeitpunkt'][und][0]['value2']['#title_display']='invisible';
return $form;
}
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 18 Stunden 42 Minuten
vor 1 Tag 5 Stunden
vor 1 Tag 8 Stunden
vor 1 Tag 12 Stunden
vor 1 Tag 18 Stunden
vor 2 Tagen 9 Stunden
vor 1 Woche 6 Tagen
vor 1 Woche 6 Tagen
vor 1 Woche 6 Tagen
vor 2 Wochen 16 Stunden