Drupal 暴露日期过滤器:从选择中删除“-Year”

Posted

技术标签:

【中文标题】Drupal 暴露日期过滤器:从选择中删除“-Year”【英文标题】:Drupal exposed date filter: remove "-Year" from select 【发布时间】:2010-01-06 23:16:59 【问题描述】:

正如标题所说,我不明白为什么“-Year”被添加到我暴露的过滤器选择框的顶部。我需要做什么才能让它消失?

【问题讨论】:

【参考方案1】:

在配置日期过滤器时,在“绝对值”下拉列表中选择年份。然后将显示该年份而不是 -Year。我怀疑,除非您对源代码进行一些更改/添加,否则您实际上可以从暴露的选择框中删除 -Year。

【讨论】:

问题是我们希望选择当前年份。我终于找到了解决办法,我会在下面贴出来。【参考方案2】:

找到了解决方案,这很愚蠢。

我最终把它放在了一个自定义模块中,最终删除了标签并根据数据库中的数据设置了显示的年数:

function modulename_form_views_exposed_form_alter(&$form, $form_state) 
    if($form['#id'] == 'theformid') 
        // Remove the label as the first element from the date select
        $form['date_filter']['value']['#date_label_position'] = 'none';

        // Find the minimum year from all of the published news nodes
        $date = db_fetch_array(
                    db_query("
                            SELECT YEAR(MIN(d.field_date_value)) as 'min'
                            FROM content_field_date d
                            INNER JOIN node n
                                ON n.nid = d.nid
                            WHERE n.type = 'news' AND n.status = 1")
                );

        // Set the new year range in the filter
        $new_min = date('Y') - $date['min'];
        $form['date_filter']['value']['#date_year_range'] = "-$new_min:+0";
    

【讨论】:

以上是关于Drupal 暴露日期过滤器:从选择中删除“-Year”的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

Drupal 7 中暴露过滤器的删除或过滤选项

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

一种在drupal中使用参数限制分类暴露过滤器选项的方法