На сайте три роли для зарегистрированных пользователей. Возникла необходимость дать пользователям возможность выставлять "видимость" их материала. На данный момент реализуется это с помощью content access. Content access дает хорошие возможности для выставления "доступности" материала - можно сделать материал доступным для роли, а можно сделать доступным для отдельных пользователей.
Но возникла пара проблем с модулем:
1. Проблема "авторского гранта" на просмотр. Если автор хочет, чтобы пользователи с такой же ролью, как и у него не могли просматривать материал, то он убирает "галку" в соответствующем пункте. Но тогде и сам автор "не видит" (не отображается он для него) своего материала.
2. Слишком много доступно пользователю.. Если в "разрешениях" выставить в настройках модуля content_access grant own content access для определенной роли, то эта роль может редактировать "доступ" к своей ноде. Но, вместе с тем, пользователь получает возможность и редактировать "общие настройки", а именно поля View any content, Edit any content и Delete any content.
Решения данных проблем пока не нашел. Начал копаться в самом модуле, но пока безрезультатно. Если кто-то знает решения - прошу помощи!
p.s. может быть стоит (возможно) сделать это через view`s ?! изначально так и планировалось, но не получилось реализовать, а именно сделать так, чтобы когда в материале отмечен определенный пункт "видимости" (создан новый тип материала с дополнительными полями видимости - чекбоксы с ролями), то выводится материал только для тех пользователей, у которых роль совпадает со значением данного чекбокса.
Комментарии
Решения с модулями пока не найдено.
Пока сделал так:
С помощью CCK в материале было добавленно поле "видимость".
В этом поле пользователь может отметить, кому доступен вновь созданный материал: выбрать роль или дружественную связь
Ну а далее, в node.tpl уже делается проверка соответствия настроек видимости материала и статуса пользователя, а также его связи с автором ноды.
а поподробнее. что-то не понятно.
Подробнее:
В новой ноде делаем новое поле проверки (чекбоксы, текст или что-то другое - зависит от задач проверки). Соответственно при добавлении ноды пользователь вбивает значение в это "поле проверки".
Ну а в шаблоне этой нода-новая.тпл.пхп перед тем как что-либо показать делается проверка прав доступа (вытягиваем нужные значения из базы и сверяем их с этим самым $node->field_проверка).
Пока все..
у меня
Content access
не работает.
а авторские права доступа там же вроде и так есть...
---
есть модуль views own но он у меня тоже не пашет. в связках с модулями доступа. пока мучаюсь с Node_access может допишут его авторы...
видимость же во вьюхе можно сделать...
если автор выводить.
Сейчас уже не помню точно, но проблема с Content_access и прочими была в том, что они не позволяли сделать именно так как надо, т.е. чтобы отдельный пользователь выставил настроки доступа к своей записи, при этом не изменяя общих настроек, выводов и прочего.![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Если выводить через вьюху по условию нового поля (поля приватности), то это не спасет, потому что к ноде можно будет обратиться напрямую.
Именно поэтому и было решено через новое поле и собственную проверку в шаблоне ноды - обеспечивается необходимая гибкость и приватность
Другое дело, что этот вариант не универсальный, потому что делался под конкретный случай
это только скрыть получаться или можно доступ к ноде перекрыть?
Та же самая проблема.
После установки Content Acccess + ACL появилась следующая проблема:
В штатном модуле разграничения прав, установлено разрешения на редактирование своего материла для роли Редактор.
Стоит галка на просмотр не опубликованных материалов.
В Content Access для данного материла также стоят эти же права.
Если заходить по ссылке, то доступ к материалу есть и пользователь с ролью Редактор модет редактировать материал.
Но в списке содержимого нет этих материалов, на главной также материлов не видно.
Решается проблема установкой галки на "Просмотр, правка и удаление всех материалов"
Но это не приемлимо в моей ситуации.
Подскажите пожалуйста как решить проблему?
Права здесь переопределял: admin/reports/status/rebuild
галку во вьюсах (если список вьюсом выводите) в настройках вьюхи поставьте - там что - то типа игнорирование настроек доступа. И все будет показываться...
Да, материалы действительно выводятся через Views. Но не могу найти эту галку. Это нужно смотреть в Критериях фильтрации?
В настройках блока, во вкладке "Доступ" стоит значение "Нет"
В содержимом так же нет этих материалов, не только в представлениях.
Ищите ищите, справа где то пятая или четвертая опция голого вьюза
Извините за тупость. Ткните пальцем пожалуйста:
![](http://video.oum.ru/sites/all/themes/govideo/images/1.png)
Настройка запр... (справа на картинке) и там галку самую верхнюю (почитайте описание к галке то)
К сожалению все то же самое. Ни во вьюхе ни в содержимом этих материалов нет.
Убирайте всю фильтрацию и все лишнее и делайте заново. Ищите свои косяки, ноды все выводяться с это й галкой на всех версиях друпал если к самим нодам доступа нет. При условии что вы сами ничего не химичили и не кодили в своих модулях.