我正在尝试创建一个定制的公开过滤器,这将是一个选择字段与年份(2015-2025年)。这将用创建日期的年份过滤结果。我遵循了本教程https://www.flocondetoile.fr/blog/filter-content-year-views-drupal-8,但是这里没有ajax提交的解决方案,所以页面不刷新,过滤器也不适用。
目前,我在hook_form_views_exposed_form_alter()中使用了上下文过滤器和表单字段:
$options = [
'all' => t('- All -'),
'2015' => '2015',
'2016' => '2016',
'2017' => '2017',
'2018' => '2018',
'2019' => '2019',
'2020' => '2020',
'2021' => '2021',
'2022' => '2022',
'2023' => '2023',
'2024' => '2024',
'2025' => '2025',
];
$form['year'] = [
'#title' => t('By year'),
'#type' => 'select',
'#options' => $options,
'#size' => NULL,
'#default_value' => 'all',
];过滤器是否有可能处理ajax提交?
发布于 2021-02-04 06:28:29
您可以使用此自定义筛选器按年份进行筛选:https://github.com/DarkteK/d8-views-custom-filter/tree/master/d8_过滤器
只需更改您希望在“ViewsYearsFilter.php”文件中使用的年份
这将适用于Ajax。
发布于 2020-03-04 13:22:39
我相信视图更好的暴露过滤器可以做到这一点:What else can I do with BEF?: Provide instant feedback by updating the View using AJAX whenever an exposed filter is changed
https://drupal.stackexchange.com/questions/291667
复制相似问题