Próbuję programowo utworzyć węzeł grupy i dodać użytkownika do tej grupy w Drupal 7. Węzeł grupy jest w porządku, ale użytkownik nie jest dodawany do grupy i nie otrzymuję żadnych błędów. Zgaduję, że używam nieprawidłowo funkcji og_group, ale nie jestem pewien. Co ja robię źle?
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
Maxamilian Demian
źródło
źródło
Odpowiedzi:
Rozgryzłem to. Skończyło się to niedziałaniem, ponieważ identyfikator grupy NIE jest taki sam jak identyfikator węzła dla tej grupy organicznej. Oto działająca wersja:
źródło
Ponieważ OG7-2.x identyfikator węzła == identyfikator grupy, nie ma potrzeby używania og_get_group (). A w og_group () i og_role_grant () twój typ grupy jest pierwszym argumentem. Oto ten sam kod dla OG 7.x-2.x
}
źródło
źródło