【问题标题】:Remove empty options in exposed filters删除暴露过滤器中的空选项
【发布时间】:2012-10-09 18:14:39
【问题描述】:

我有一个带有选择选项下拉字段的公开过滤器,它收集了我当前视图中的所有实际值。不幸的是,它还会收集并显示我视图中的空白字段。

我试图创建一个模块来处理这个问题,但我无法让它真正更新我当前公开的过滤器。有什么建议吗?

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]);
        }
      }
    }
  }
}

【问题讨论】:

    标签: select options drupal-exposed-filter


    【解决方案1】:

    array_walk() 与 unset() 结合使用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多