我正在寻找一种将内容类型article的所有节点添加到组id = 25的组的解决方案,是否有任何方法可以通过PHP代码添加一次,我听说过groupadd函数,但是我不知道如何使用它,请帮帮我
Group::addContent(ContentEntityInterface $entity, $plugin_id, $values = [])
如何使用以上功能?
有什么方法可以进行一步操作吗?
Group::addContent(ContentEntityInterface $entity, $plugin_id, $values = [])
我需要将文章的所有内容类型与gid = 25分组
答案 0 :(得分:0)
也许会帮助
$ group-> addContent($ entity,'group_node:article');
plugin_id实际上是节点类型
请尝试一下。
答案 1 :(得分:0)
让我尝试解释更多
使用Drupal \ node \ Entity \ Node; 使用Drupal \ group \ Entity \ Group;
/**
* Implements hook_ENTITY_TYPE_insert().
*/
function yourmodulename_node_insert(Node $node) {
if ($node->bundle() == 'article') {
$pluginId = 'group_node:article';
// Here create some logic to load/chose the group id's you want to
// add the content to
// ...
foreach ($group_ids as $gid) {
$group = Group::load($gid);
$group->addContent($node, $pluginId);
}
}
}
我希望它会更加清楚,foreach意味着您可以添加到多个组,因此在这里您可以尝试自己的逻辑,即要添加到哪个组,希望这样做有意义。