我正在寻找一个解决方案,将内容类型文章的所有节点添加到组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实际上是节点类型
请试试。