Drupal 公开视图过滤器自定义日期

Posted

技术标签:

【中文标题】Drupal 公开视图过滤器自定义日期【英文标题】:Drupal Exposed Views Filter custom date 【发布时间】:2010-06-15 21:50:56 【问题描述】:

我有一个日期过滤器,我已经在我的视图中公开了它。我想让界面更加用户友好并加强它的外观。我不想选择日期,而是从以下选项中进行选择。

最后一天 最后一周 最后一年 全部

这将过滤日期字段。这可能吗?你会怎么做呢?

【问题讨论】:

【参考方案1】:

正确的做法是使用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 检查此数组。

【讨论】:

【参考方案2】:

这是可能的,但您需要为此编写自己的模块。

该模块将使用名为“Form Alter”的方法来更改表单。尝试从这里开始http://drupal.org/node/157253

【讨论】:

以上是关于Drupal 公开视图过滤器自定义日期的主要内容,如果未能解决你的问题,请参考以下文章

无法以编程方式在视图 Drupal 7 中为日期设置公开过滤器

drupal 自定义视图过滤器

Drupal:如何在具有来自外部数据库选项卡的数据的视图中添加公开过滤器

drupal 6 - 我可以使用一个公开的视图过滤器来搜索/过滤几个类似的 cck 字段吗?

Drupal 视图暴露的过滤器日期时间弹出窗口

Drupal 视图 UI,过滤器暴露,集合字段内容中的日期仅按月和年(无天)