То, что я пытаюсь сделать здесь, это контролировать, как группа полей отображается в представлении узла.Я не хочу контролировать их по роли пользователя, поскольку это будет разрешение на уровне узла, и я не хочу, чтобы эти разрешения влияли на другие узлы с таким же типом контента.
Например, представьте, что у меня естьтри разные роли: РОЛЕА, РОЛЕБ и РОЛЕК.Каждая роль имеет свои собственные права доступа к полям.Когда узел создается впервые, пользователь с ролью ROLEA может видеть пару полей и может редактировать значение этих полей.Когда узел публикуется, правило / действие вызывается через модуль «Правила», и для поля состояния в этом узле устанавливается значение STAGE1.После этого события (создан новый узел), если пользователь (ROLEA) переходит к тому узлу, который был только что создан им, те поля, которые были доступны для редактирования раньше, теперь должны быть доступны только для чтения.Это означает, что когда модуль Rules устанавливает значение поля состояния на STAGE1, когда этот узел хочет загрузить Drupal, нам нужно проверить значение состояния, и на основании этого, если это было, например, STAGE1, изменить другое поле вэтот конкретный узел, только для чтения или редактируемый, или в некоторых случаях скрыть их от пользователя.Таким образом, я предполагаю создать модуль, который каждый раз, когда узел этого типа загружается, проверяет поле состояния (которое является полем, которое мы создали в этом типе узла) и на основе значения этого поля решает, какой узелдолжен появиться или скрыться.Это должно переопределить разрешение, которое было установлено для этих полей в данном конкретном типе узла.
Я пытаюсь создать метод для управления тем, какое поле будет доступно только для чтения / редактируемое / скрытое на основезначение определенного поля в этом типе контента, которое было задано модулем Roules на основе различных этапов работы на этом узле различными группами пользователей.Я не использую Органическую Группу.Я использую модуль Drupal 7 и Rules и пару других модулей, связанных с разрешениями.Но я обнаружил, что не существует такого способа обработки видимости полей на уровне узла, отдельно от пользовательских ролей.
Как вы думаете, есть ли другой способ достижения того же результата?Я признателен, если бы вы могли дать мне представление о том, как создать такой модуль.