如何在drupal8中用程序将内容类型文章的所有节点添加到一个组中



我正在寻找一个解决方案,将内容类型文章的所有节点添加到组id为25的组中,有没有办法通过PHP代码将它们添加一次,我听说过分组中的addcontent函数,但我不知道如何使用它,请帮我解决

Group::addContent(ContentEntityInterface $entity, $plugin_id, $values = [])

如何使用上述功能?

有什么方法可以完成一步流程吗?

Group::addContent(ContentEntityInterface $entity, $plugin_id, $values = [])

我需要用gid=25 对所有内容类型的文章进行分组

让我尝试解释更多

使用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意味着你可以添加到多个组,所以在这里你可以尝试你自己的逻辑,你想添加到哪个组,希望它有意义。

这可能有助于

$group->addContent($entity,'group_node:article');

plugin_id实际上是节点类型

请试试。