В представлениях, отформатированных как таблица, столбцы с полями терминов таксономии сортируются по идентификатору термина, а не по метке


В Drupal 8 у меня есть представление в формате таблицы, где пользователь может щелкнуть по любому заголовку столбца, чтобы отсортировать отображаемые записи в соответствии с заданным полем. Это хорошо работает для чисел (по возрастанию/убыванию), а также для обычного текста (по возрастанию/убыванию для заголовка или любых других текстовых значений), записи затем сортируются правильно в алфавитном порядке. Но это не работает для терминов таксономии - они сортируются в соответствии с идентификатором термина таксономии, а не в алфавитном порядке в соответствии с метка.

Т.е. я хочу отобразить в столбце таблицы термин таксономии (на узел допускается только одно значение) и иметь возможность сортировать таблицу в алфавитном порядке.

В моем случае использования у меня есть записи об образцах растений, содержащих множество полей, включая, например, виды или формы жизни. Это термины таксономии. Я показываю записи образцов в таблице, которые можно фильтровать в соответствии с различными критериями, например, различными признаками. Таблица также может быть отсортирована по любому столбцу, например, по видам, но в данном конкретном случае он сортируется в соответствии с идентификатором термина таксономии, а не естественным образом по метке.

Я нашел несколько ответов на подобные проблемы, но ничего точно не соответствует моей проблеме. Модуль естественной сортировки также может помочь, но его состояние разработки не очень многообещающее.

Author: Tilia, 2018-07-31

1 answers

Это связано с тем, что сохраненное значение поля - это идентификатор термина, его метка - это то, как оно отображается.

Чтобы выполнить сортировку по имени, вам нужно вместо этого добавить связь, используя это поле, в термины, а затем добавить поле имени этой связи. Тогда вы также сможете отсортировать его на основе этого.

 3
Author: Berdir, 2018-08-03 22:19:22