【发布时间】:2010-06-15 21:50:56
【问题描述】:
我有一个日期过滤器,我已经在我的视图中公开了它。我想让界面更加用户友好并加强它的外观。我不想选择日期,而是从以下选项中进行选择。
- 最后一天
- 最后一周
- 最后一年
- 全部
这将过滤日期字段。这可能吗?你会怎么做呢?
【问题讨论】:
我有一个日期过滤器,我已经在我的视图中公开了它。我想让界面更加用户友好并加强它的外观。我不想选择日期,而是从以下选项中进行选择。
这将过滤日期字段。这可能吗?你会怎么做呢?
【问题讨论】:
正确的做法是使用hook_form_alter 更改自定义模块中的表单:
function YOURMODULE_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'views_exposed_form') {
$view = &$form_state['view'];
$display = &$form_state['display'];
if ($view->name == 'YOURVIEWNAME' && $display->id == 'YOURDISPLAYID') {
//Alter $form here, use dpm($form) to inspect it.
}
}
}
$form 是一个描述表单的数组,使用 Drupal Form API。您可以使用 Devel 模块中的 dpm 检查此数组。
【讨论】:
这是可能的,但您需要为此编写自己的模块。
该模块将使用名为“Form Alter”的方法来更改表单。尝试从这里开始http://drupal.org/node/157253
【讨论】: