如何在查看日期暴露过滤器下拉列表中删除“-Year”选项?

Posted

技术标签:

【中文标题】如何在查看日期暴露过滤器下拉列表中删除“-Year”选项?【英文标题】:How to remove "-Year" option in views date exposed filter dropdown? 【发布时间】:2014-04-29 14:24:22 【问题描述】:

无法使用 hook_form_alter 更改其值,因为 date_select 类型的元素没有 #options 数组。

【问题讨论】:

【参考方案1】:

['#options'] 数组在表单验证回调中可用。要覆盖表单元素,请确保您通过引用传递 $form 参数:

function MY_MODULE_form_views_exposed_form_alter(&$form, &$form_state) 
  $view = $form_state['view'];
  if ($view->name == 'press_center' && $view->current_display == 'page') 
    $form['#validate'][] = 'MY_MODULE_date_filter_validate';
  


function MY_MODULE_date_filter_validate(&$form, &$form_state) 
  $form['year_month']['value']['month']['#options'] = array(1=>'Jan',2=>'Feb',3=>'Mar');

【讨论】:

以上是关于如何在查看日期暴露过滤器下拉列表中删除“-Year”选项?的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 7:发布日期的暴露过滤器

如何直接用java Swing写日期下拉列表框

Drupal 视图和暴露的过滤器下拉菜单

删除暴露过滤器中的空选项

来自日期选择器的输入会破坏下拉列表中的输入

如何根据 django 模板中的日期过滤列表