无法使用hook_form_alter更改其值,因为date_select类型的元素没有#options数组。
答案 0 :(得分:2)
['#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');
}