как организовать контент drupal в следующем случае

Мне нужна помощь, как организовать узлы drupal cms.

у меня есть три типа пользователей (три дополнительные группы пользователей).

узлы доступны только в том случае, если пользователи вошли в систему.

пользователи из первой группы могут получить доступ ко всем узлам, которые созданы всеми пользователями (все группы пользователей).

пользователи из второй группы могут получить доступ только к самим созданным узлам.

пользователи из третьей группы могут получить доступ к контенту, созданному ими и пользователями из первой группы.

Важно то, что когда пользователи вводят свой контент, им не нужно определять, кто и к какому контенту имеет доступ. это должно быть сделано системой.

можно ли организовать с помощью модуля просмотров? также важно, чтобы пользователи использовали одну и ту же ссылку для доступа к узлам.

мне нужно дополнительное программирование для этого?

заранее спасибо!!!


person user198003    schedule 22.09.2010    source источник
comment
Что вы имеете в виду под доступом? Возможность просмотра? Возможность редактировать? Возможность удаления? Не могли бы вы переформулировать свой вопрос в свете вышеизложенного. Также сможет ли кто-нибудь из группы A редактировать узел, созданный кем-то еще из группы A? Сможет ли кто-нибудь из группы B редактировать узел, созданный кем-то еще из группы B? и так далее. Пожалуйста, сформулируйте свой вопрос более точно.   -  person Sid Kshatriya    schedule 23.09.2010
comment
@ user198003, вы также можете подумать о том, чтобы дать вашему вопросу лучший заголовок, чтобы другие люди могли лучше понять ваш вопрос из самого заголовка.   -  person Sid Kshatriya    schedule 23.09.2010


Ответы (1)


Извините, но ответ на этот вопрос довольно сложно объяснить. На самом деле концепция довольно проста.

Вам нужно будет использовать модуль на основе доступа к узлу. Что делают модули доступа к узлам? Посмотри пожалуйста:

http://drupal.org/node/270000 для хорошего обзора.

Сначала создайте 3 роли пользователей. Назовем их: Role_A, Role_B, Role_C. Затем создайте словарь под названием «Группа». Добавьте три термина в словарь группы: Group_A, Group_B, Group_C.

Убедитесь, что групповой словарь применим ко всем типам контента, которыми вы хотите управлять, например Страница, История и т. Д.

Концепция заключается в следующем: когда пользователь Role_A создает узел, он должен добавить термин Group_A к узлу. Когда пользователь Role_B создает узел, он должен добавить термин Group_B к узлу. Когда пользователь Role_C создает узел, он должен добавить термин Group_C. Я знаю, вы хотите, чтобы пользователь не делал этого ... есть способы избежать этого или упростить ... продолжайте читать.

Использование модуля управления доступом к таксономии lite http://drupal.org/project/tac_lite вы сделаете так, чтобы:

Роль A будет иметь доступ для просмотра ко всем узлам, которые имеют термины таксономии Group_A, Group_B или Group_C. Роль B будет иметь доступ для просмотра ко всем узлам, имеющим термины таксономии Group_B. Роль C будет иметь просмотр доступ ко всем узлам, которые имеют термины таксономии Group_A или Group_C.

Теперь вам нужно запретить пользователям Role_A прикреплять любой термин из словаря группы кроме Group_A. то есть пользователь Role_A должен иметь возможность добавлять только термин Group_A к своим узлам, пользователь Role_B должен иметь возможность добавлять термин Group_B только к своим узлам, а пользователь Role_C должен иметь возможность добавлять термин Group_C только к своим узлам.

Это можно сделать с помощью модуля разрешений термина http://drupal.org/project/term_permissions

Перейдите к каждому термину в словаре группы и отредактируйте его, теперь будет доступен раздел разрешений. Итак, позвольте Role_A только иметь разрешение для термина Group_A, Role_B для Group_B и Role_C для Group_C.

Теперь вы должны сделать Групповой словарь обязательным (поставьте галочку напротив нужного в настройках редактирования словарного запаса). Это сделано для того, чтобы пользователи были вынуждены выбирать свою группу. Обратите внимание, что из-за разрешений на срок у них будет только ОДИН элемент в раскрывающемся списке, из которого им нужно будет выбрать, так что это тривиально.

Модуль Views будет работать "из коробки". Пользователи Role_A смогут видеть только те узлы, которые им нужны, и так далее. Так что с тобой все в порядке.

Примечание 1. Если вы хотите, чтобы люди не беспокоились о выборе группы, вы всегда можете использовать модуль правил, чтобы убедиться, что узел помечен определенным термином таксономии при сохранении. См. http://drupal.org/project/rules. Таким образом, вы добавите термин Group_A, если роль пользователя - Role A, и так далее при сохранении. Если вы используете правила, вам не нужно делать групповой словарь «обязательным».

Примечание 2: обратите внимание, что вместо использования комбинации модуля управления доступом к таксономии lite + термин разрешений вы могли бы просто использовать управление доступом к таксономии http://drupal.org/project/taxonomy_access, который является мощным, но более сложным модулем.

Примечание 3: обратите внимание, что на момент написания этого модуля термин разрешений вмешивается в модуль иерархического выбора (HS) и, возможно, модули супер выбора таксономии (TSS). Поэтому, если вы используете модули HS / TSS, вам потребуется управление доступом к таксономии пользователя (а не tac_lite)

person Sid Kshatriya    schedule 23.09.2010