Здравствуйте.
Стоит задача организовать доступ к материалу (вернее к закрытой его части) по запросу. Есть материал с набором полей, некоторые из которых должны быть скрыты от просмотра (по желанию автора). Доступ к просмотру скрытых полей должен предоставляться автором материала по какому-нибудь запросу. Как можно решить эту задачу?
1. Как скрыть некоторые поля в материале? У меня в голове пока только такой вариант: Сделать чекбокс "Публичный доступ" и завязать на него условие вывода при отображении (рендере) материала. Может есть более изящное (либо готовое) решение?
2. Как проще всего сделать кнопку (ссылку) "Запросить полную информацию" под каждым материалом, в котором есть скрытые поля? Подозреваю, что есть какой-нибудь готовый модуль (м.б. Flag). Может кто направит в нужное русло?
3. Из второго пункта вытекает третий - показ автору всех заявок на доступ к материалам.
Заранее спасибо всем откликнувшимся.
Комментарии
1. Field Permissions
2. Webform + немного кода
3. Назначение пользователю роли, для которой через Field Permissions установить право на просмотр закрытых полей.
Может я чего недопонял, но если мы назначим полям права "просмотр только для роли "ХХХ"" и какому-то из пользователей дадим роль "ХХХ", то этот пользователь заочно будет иметь доступ ко всем последующим материалам автора? Если да, то такой вариант не годится.
Суть задания в том, чтоб дать право для просмотра "конкретного материала" "конкретному пользователю"
Думаю, готового решения в виде модуля вы не найдете, только свой нужно писать.
тут надо модуль писать. Алгоритм такой: показывать поля только для определенного пользователя (в tpl делается)
ну и пару форм, запрос и подтверждение. а Field Permissions вам не подойдет.
Свой модуль пока не осилю. Вот если бы в TPL вытащить какую-то переменную, на основе которой либо давать доступ, либо нет. Только вот какими средствами создать эту переменную. Приглядываюсь к модулю Flag. Ни разу не щупал его, заодно посмотрю возможности.
Flag может помочь но опять же без кода не обойтись. Вам нужно будет программно кликать по флагу. А это уже программинг. Учите PHP. и Друпал API и будет вам счастье.