Я пытаюсь программно создать узел группы и добавить пользователя в эту группу в Drupal 7. Узел группы создается просто отлично, но пользователь не добавляется в группу, и я не получаю никаких ошибок. Я предполагаю, что я использую функцию og_group неправильно, но я не уверен. Что я делаю неправильно?
function MYMODULE_form_submit($form_id, $form_values) {
global $user;
$node = new stdClass();
$node->type = "group";
$node->uid = $user->uid;
$node->title = t("Group Node Title");
$node->body = t("Group Node Body");
$node->status = 1;
$node->promote = 0;
$node->comment = 1;
$node->og_description = t("OG Description");
$node->og_register = 0;
$node->og_directory = 0;
$node->og_private = 1;
$node->og_selective = 3;
$node = node_submit($node);
node_save($node);
$account = user_load(2);
og_group($node->nid, array(
"entity type" => "user",
"entity" => $account,
"membership type" => "OG_MEMBERSHIP_TYPE_DEFAULT",
));
drupal_set_message(t("Finished"));
}
organic-groups
Максамильян Демиан
источник
источник
Ответы:
Я понял. В итоге он не работает, потому что идентификатор группы НЕ совпадает с идентификатором узла для этой органической группы. Вот рабочая версия:
источник
Поскольку в OG7-2.x идентификатор узла == идентификатор группы, нет необходимости использовать og_get_group (). А в og_group () и og_role_grant () тип вашей группы является первым аргументом. Итак, вот тот же код для OG 7.x-2.x
}
источник
источник