Проблемы с уникальностью в представлениях - модуль Views

Аватар пользователя Ritka Ritka 23 апреля в 17:46

Включила модуль https://www.drupal.org/project/recently_read и создала по нему сортировку в представлениях, но если добавить сортировку еще по дате то почему то материалы отображаются по 2-3 раза подряд (уникальность и Чистый Distinct не помогли (((

Лучший ответ

Комментарии

Аватар пользователя marassa marassa 23 апреля в 19:04

С модулем не знаком, но очень сильно сомневаюсь, что добавление критерия сортировки может как-то повлиять на уникальность/неуникальность строк в выборке. Скорее с критериями фильтрации/связями что-то накосячено.

Аватар пользователя Ritka Ritka 23 апреля в 19:34

Возможно связь (relationships) Recently Read дублирует отображение материалов, это возможно исправить ?

Аватар пользователя ivnish ivnish 23 апреля в 19:35

Связь обычно ничего не дублирует. Связь добавляет к sql запросу ещё одну или несколько таблиц для выборки данных

Аватар пользователя marassa marassa 23 апреля в 19:49

Ritka wrote: Возможно связь (relationships) Recently Read дублирует отображение материалов

Скорее всего так, понять бы почему. К сожалению не знаком с этим модулем, а специально ставить и вникать лень.
У меня на сайте подобные проблемы частенько возникают из-за мультиязычности, когда подтягиваются несколько записей, соответствующих разным языкам одной и той же ноды, а потом в соответствии с настройками view отображаются на одном и том же языке. Но не зная Вашего сайта (и не зная семерки) мне тут трудно делать какие-то выводы и давать какие-то конкретные советы.
Если никак не получается вникнуть в суть проблемы, то есть вот такой костыль: Views Merge Rows. Но это мало того что костыль, так еще и кривоватый, так что осторожно с ним Wink Какая-то его версия клала сайт после установки, а удалить его было нельзя... Blush

Аватар пользователя Ritka Ritka 23 апреля в 20:42

Спасибо за понимание !
Я кажется понимаю в чем суть, сам модуль Recently Read рассчитан на отображение материалов, которые вы только что смотрели , это как история в браузере. И модуль рассчитан индивидуально для аждого, а я этот фильтр убрала и теперь показывает историю всех и всем (так намного интереснее), если настроить индивидуально, то все работает без дубляжа.

Аватар пользователя marassa marassa 23 апреля в 20:48

То есть получается, что если N юзеров недавно смотрели одну и ту же ноду, то будет N записей в Recently Read. Как вариант можно попробовать помудрить с агрегацией, ну а если не получится, то тот костыль, что я ранее советовал (только сделав бэкап предварительно Wink )

Аватар пользователя Ritka Ritka 23 апреля в 21:10

Там если сортировка по Recently Read то все идеально отображается и повторы просмотров срабатывают за 10 минут, что бы не выпадало 100 записей одного и того же материала за 100 секунд, такая проблема случается при отображении по дате публикации

Аватар пользователя marassa marassa 23 апреля в 19:47

ivnish wrote: Связь обычно ничего не дублирует.

Еще как дублирует: достаточно добавить связь с термином, переведенным на пять языков и получить пять строк вместо одной Wink

Аватар пользователя Ritka Ritka 23 апреля в 20:37

Кстати так и дублируются материалы с переведенными терминами таксономии )))

Аватар пользователя marassa marassa 23 апреля в 20:41

А связь-то есть с этим словарем таксономии? Тогда достаточно добавить фильтр по языку именно словаря.