我有一个字段作为列表(整数)来收集用户的高度。
0|4ft 4in - 132cm
1|4ft 5in - 134cm
2|4ft 6in - 137cm
3|4ft 7in - 139cm
4|4ft 8in - 142cm
5|4ft 9in - 144cm
6|4ft 10in - 147cm
7|4ft 11in - 149cm
etc....但是现在我希望过滤具有from和to in视图的用户,这在原则上应该是简单的,但是视图选项并不存在。我希望看到正常的“大于或等于”运算符通常与一个整数相关联,但对于list(整数)则不是这样。
下面是普通整数的操作符的截图:

如何设置“从”到“高度”?可以使用现有的List(整数)字段,也可以使用其他方法。
发布于 2018-01-19 19:34:51
看起来列表字段使用了“多到一”视图筛选器,不太清楚理由是什么,可能是因为有标签的整数值可能被假定对比较没有用处吗?我不知道。
无论如何,使用自定义模块中的hook_field_views_data_alter(),您可以交换用于特定字段的过滤器ID。下面的例子是,如果您的字段名为"FIELDNAME_value“,则需要将"field_int_list_value”替换为“field_int_list_value”。
use Drupal\field\FieldStorageConfigInterface;
/**
* Implements hook_field_views_data_alter().
*/
function MYMODULE_field_views_data_alter(array &$data, FieldStorageConfigInterface $field_storage) {
foreach ($data as $table_name => $table_data) {
foreach ($table_data as $field_name => $field_data) {
if (isset($field_data['filter']) && $field_name === 'FIELDNAME_value') {
$data[$table_name][$field_name]['filter']['id'] = 'numeric';
}
}
}
}https://drupal.stackexchange.com/questions/254110
复制相似问题