Select 删除公开筛选器中的空选项
我有一个公开的过滤器,其中有一个选择选项下拉字段,用于收集当前视图中的所有实际值。不幸的是,它还收集并显示我视图中的空字段 我试图创建一个模块来处理这个问题,但我无法使它实际更新我当前公开的过滤器。有什么建议吗Select 删除公开筛选器中的空选项,select,options,drupal-exposed-filter,Select,Options,Drupal Exposed Filter,我有一个公开的过滤器,其中有一个选择选项下拉字段,用于收集当前视图中的所有实际值。不幸的是,它还收集并显示我视图中的空字段 我试图创建一个模块来处理这个问题,但我无法使它实际更新我当前公开的过滤器。有什么建议吗 function remove_duplicated_publications_form_alter(&$form, &$form_state, $form_id) { if($form_id == 'views_exposed_form'){ foreach
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]);
}
}
}
}
}
与unset一起使用