hook_form_alter für cck-feld klappt nur im Add-Form, jedoch nicht im Edit
am 30.01.2012 - 16:23 Uhr in
Hallo,
ich habe einen Nodetype, nennen wir ihn 'events'. In diesem Nodetype habe ich mittels CCK ein Textfeld mit Radio-buttons erstellt. Nun möchte ich gerne die "allowed values" dieses Feldes programmatisch ändern und zwar so dass als Optionen alle Nodetypes verfügar sind, die nach einem bestimmten Muster benannt sind.
Dies habe ich folgndermaßen gelöst:
<?php
function clavisto_evt_register_form_alter(&$form, &$form_state, $form_id){
if($form_id == 'events_node_form'){
$options = array();
$types = node_get_types('types');
foreach($types as $key => $type){
if(preg_match("/^events_reg/",$type->type)) {
$options[] = $type->name;
}
$options_str = implode("\n",$options);
$form['#field_info']['field_evt_regform']['allowed_values'] = $options_str;
dsm($form['#field_info']);
}
}
?>Das funktioniert soweit, aber nur im Node-add form also in /node/add/events. Im Edit-Form werden leider immer noch die ursprünglichen Optionen angezeigt, obwohl laut dsm in $form['#field_info']['field_clav_evt_regform']['allowed_values'] die richtigen Werte liegen.
Ich hab bereits umfangreich Google bemüht bin aber auf keine Antwort gestoßen, weswegen ich hier nachfragen wollte, ob jemand einen Tip bzw. Lösungsansatz für mich hat.
- Anmelden oder Registrieren um Kommentare zu schreiben

Neue Kommentare
vor 2 Tagen 12 Stunden
vor 3 Tagen 7 Stunden
vor 4 Tagen 1 Stunde
vor 1 Woche 1 Tag
vor 1 Woche 1 Tag
vor 1 Woche 5 Tagen
vor 1 Woche 5 Tagen
vor 1 Woche 5 Tagen
vor 4 Wochen 2 Tagen
vor 4 Wochen 3 Tagen