Извините, но ответ на этот вопрос довольно сложно объяснить. На самом деле концепция довольно проста.
Вам нужно будет использовать модуль на основе доступа к узлу. Что делают модули доступа к узлам? Посмотри пожалуйста:
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