0

Ich versuche ein Feldsammlungsfeld auszublenden, das in einem eingebetteten Formular rendert. Dieses Formular rendert auf einigen verschiedenen Knoten, aber nur einige Knoten benötigen alle Felder, also möchte ich sie auf denen verstecken, die das nicht tun.Ein Feldsammlungsfeld in einem eingebetteten Formular ausblenden

Momentan versuche ich es zu machen, vis hook form ändern, aber es funktioniert nicht innerhalb der Feldsammlung, es wird auf einem Formular arbeiten, das normalerweise teilt Felder mit der Sammlung.

function zenstrap_form_alter(&$form,&$form_state,$form_id){ 

    //Form we want to target 
    case ($form_id==="coh_pow_node_form"): 

    //Appears in Normal form and Field Collection 
    //Hides in normal 
    $form['field_last_name']['#access']=FALSE; 

    //Appears in Normal form and Field Collection 
    //Hides in normal 
    $form['field_street']['#access']=FALSE; 

    //Appears in Field Collection 
    //Does nothing 
    $form['field_veteran_retired']['#access']=FALSE; 

    break; 

} 

Antwort

1

Um Feldsammelfelder auszublenden, klicken Sie auf den folgenden Code.

function YOURMODULE_form_alter(&$form, &$form_state, $form_id) { 
    if($form_id == 'YOURFORMID') { 
     $delta = 0; 
     $max_delta = $form['field_YOUR_field_collection'][LANGUAGE_NONE]['#max_delta']; 
     while ($delta <= $max_delta) { 
      $form['field_YOUR_field_collection'][LANGUAGE_NONE][$delta]['field_YOURfield'][LANGUAGE_NONE][0]['#access'] = FALSE; 
      $delta++; 
     } 
    } 
} 

Hoffe, es hilft Ihnen, ...

Verwandte Themen