删除暴露过滤器中的空选项
Posted
技术标签:
【中文标题】删除暴露过滤器中的空选项【英文标题】: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]);
【问题讨论】:
【参考方案1】:将array_walk() 与 unset() 结合使用
【讨论】:
以上是关于删除暴露过滤器中的空选项的主要内容,如果未能解决你的问题,请参考以下文章