Здравствуйте! Если звезды рейтинга модуля Fivestar выведены во Views, то я вижу некорректную дату обновления ноды:
Last saved (all languages) 02/03/2023 - 18:55
Если же звезды рейтинга модуля Fivestar выведены с помощью полей, то дата сохранения (изменения) ноды соответствует последней дате публикации:
Last saved (all languages) 01/30/2023 - 22:30
Таким образом, при каждом голосовании через вывод Views у меня изменяется дата обновления ноды.
Мне нужна верная дата потому, что Views на главной выводит ноды в порядке обновления. В тоже время я не могу вывести звезды рейтинга модуля Fivestar не во views в некоторых типах материалов.
Как это исправить?
Комментарии
Зайти в issues на Drupal.org на страницу модуля. Поискать там репорт об этой проблеме. Если его нет, то создать.
Ишью - это здорово, но не всегда на орге отвечают на ишью.
Хотел сказать "дак вот же!" https://www.drupal.org/project/fivestar/issues/3339062 а это твой ишью, судя по всему)
Да, мой) Пока нет ответов.
Напиши там, что через views одно, через отображение полей другое. Если это действительно так.
А не в кэше ли дело? Возможно дата обновления меняется в любом случае (и судя по ответу на орге так и задумано), просто при выводе "с помощью полей" (что бы это ни значило) кэш не инвалидируется, и показывается устаревшее значение из кэша?
Если так и задумано, то в таком случае у меня не получится выводить на главную только обновленные админами материалы. Fivestar создает спам из обновления нод, кода сотни пользователей постоянно голосуют и оценивают ноды.
В таком случае вам проще сделать кастомное поле даты и обновлять его только когда админы обновляют контент. Ну и вьюсы перенастроить на это поле
Вообще тема интересная. С чисто формальной точки зрения Fivestar - это одно из полей ноды. Изменение значения любого поля ноды автоматически приводит к изменению системного поля даты последней модификации ноды. С другой стороны Вашу логику тоже можно понять - голосование за ноду не приводит к изменению ее "содержательной части" и не делает ее обновленной. Интересно, сложно ли хакнуть модуль, чтобы дата последней модификации не менялась? В идеальном мире должна быть настройка поля Fivestar: менять дату последней модификации при голосовании или не трогать.
Если там используется что-то стандартное типа $node->save() то хакать модуль бесполезно. Это уже надо хакать ядро) Нормальный способ я описал выше