Программно снять ноду с публикации

Главные вкладки

Аватар пользователя gera8774 gera8774 2 мая 2021 в 0:21

Всем привет! Мне нужно программно снимать ноду с публикации с определенным значением в определенном поле. Через rules сделать не получается, т.к. не могу разобраться с селекторами данных. Как можно сделать это через шаблон?

Комментарии

Аватар пользователя gera8774 gera8774 2 мая 2021 в 9:56

Это поле в ноде. Нода - мероприятие, поле - дата. Мне надо, чтобы при достижении датой текущего времени нода снималась с публикации

Аватар пользователя OldWarrior OldWarrior 2 мая 2021 в 2:34

gera8774 wrote: Как можно сделать это через шаблон?

Никак.

В каких-то отдельных шаблонах можно только скрыть такую ноду, но это не есть снять с публикации.

Аватар пользователя marassa marassa 2 мая 2021 в 10:42

gera8774 wrote: Нода - мероприятие, поле - дата. Мне надо, чтобы при достижении датой текущего времени нода снималась с публикации

hook_cron и немножко кода.
Но гораздо проще, и, возможно, даже правильнее добавить во все представления по мероприятиям дополнительный фильтр по дате. Так прошедшие мероприятия не будут показываться где не надо, и при этом не будет обилия 403 при переходах из поисковых систем и по старым ссылкам.

Аватар пользователя gera8774 gera8774 2 мая 2021 в 11:16

в представлениях так и сделано. Но еще есть листалка, которая перелистывает страницы нод. И вот тут начинают встревать лишние

Аватар пользователя gera8774 gera8774 2 мая 2021 в 11:30

Установлен модуль Prev/Next, который помогает листать ноды определенного типа. Но в нашем случае всё ломается, т.к. мешаются пройденные мероприятия.

Аватар пользователя marassa marassa 2 мая 2021 в 13:02

gera8774 wrote:Установлен модуль Prev/Next, который помогает листать ноды определенного типа

Рекомендую заменить на гораздо более гибкий Entity Pager - там навигация через view настраивается.