2012-10-09 44 views
1

我有一个暴露的过滤器与选择选项下拉字段,收集我当前视图中的所有实际值。不幸的是,它也收集并显示了我的视图中的空白字段。删除暴露的过滤器中的空选项

我试着创建一个模块来处理这个问题,但是我无法让它实际更新当前的暴露过滤器。有什么建议么?

function remove_duplicated_publications_form_alter(&$form, &$form_state, $form_id) { 
    if($form_id == 'views_exposed_form'){ 
    foreach($form as $tmp){ 
     if ($tmp["#type"]=="select"){ 
     foreach($tmp["#options"] as $tjek){ 
      if ($tjek==NULL){ 
      unset ($tmp["#options"][$tjek]); 
      } 
     } 
     } 
    } 
    } 
} 

---解决方案找到了! --- 我需要取消设置$ form数组。下面的代码工作:

function remove_duplicated_publications_form_alter(&$form) { 
    foreach($form['#info'] as $field){ 
    $field_id = $field['value']; 
    if ($form[$field_id]["#type"]=="select"){ 
     foreach($form[$field_id]["#options"] as $optionvalue){ 
     if ($optionvalue==NULL){ 
      unset ($form[$field_id]["#options"][$optionvalue]); 
     } 
     } 
    } 
    } 
} 

回答

相关问题