Рейтинг:2

$group->addContent() в hook_node_insert() не обновляет права доступа для узла

флаг cn

У меня есть тип контента с полем, которое позволяет пользователям решать, в какую группу добавить контент.

Контент добавляется в группу через крюк_узел_вставка ().

функция tm_wiki_node_insert(NodeInterface $node) {
  $type = $node->getType();
  если ($ тип == 'мой контент') {
    $group = Group::load('1');
    $group->addContent($node, 'group_node:mycontent');
  }
}

Это работает: я вижу, что узел правильно добавлен в группу. Однако пользователи, не являющиеся членами группы, по-прежнему могут просматривать содержимое, даже если разрешения группы не позволяют этого.

Когда я вручную редактирую и сохраняю узел один раз, разрешения устанавливаются правильно; пользователи, не являющиеся членами группы, не могут просматривать узел.

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

Я не понимаю проблемы, так как крюк_узел_вставка () должен вызываться после сохранения объекта, и $группа->добавитьконтент() не должно требовать дополнительного сохранения для правильной установки разрешений.

Рейтинг:0
флаг cn

Я нашел проблему - это, вероятно, связано с подмодулем social_groups, который добавляет поле для видимости контента (field_content_visibility) - это поле не установлено должным образом при простом добавлении контента через группу-> добавить контент.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.