Как реализовать доступ к материалам с возможностью открывать и закрывать его?

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

Аватар пользователя tehfoxen tehfoxen 4 июня 2019 в 14:58

Есть типа материала "статья", который выведен с помощью views по годам. К ней создано поле файл, которое сделано, как private с доступом к ней определенной роли (hook_file_download() ).
1.Необходимо, чтобы была возможность открыть доступ за предущие года ко всем файлом, кроме последнего года.
2. Ограничить доступ приватным пользователям определенной датой. Причем у каждого эта дата разная.
Подскажите, кто сталкивался, как можно подобное реализовать.

Комментарии

Аватар пользователя sergey2812 sergey2812 26 июля 2019 в 22:01

Схематично так:
1. Конфигурация->Пользователи->Настройка учетной записи->Управление полями
2. Добавить новое поле типа ДАТА
3. Для каждого пользователя вписать индивидуальные даты, до которых им доступны материалы.
4. В модуле применяем хук "node_grants", который определяет открытие материалов
5. В открываемом материале берем именно дату создания материала, или дату создания файла, привязанного к материалу, и сравниваем с датой из поля даты для этого пользователя до которой ему можно смотреть материалы. Если дата создания материала меньше, то просмотр состоится. Если нет, то говорим пользователю, что это не его материал, например.
Если надо прям до конкретного кода, пишите, договоримся internet-restoran@rambler.ru Сергей