Estou tentando criar programaticamente um nó de grupo e adicionar um usuário a esse grupo no Drupal 7. O nó do grupo está sendo criado muito bem, mas o usuário não está sendo adicionado ao grupo e não estou recebendo nenhum erro. Acho que estou usando a função og_group incorretamente, mas não tenho certeza. O que estou fazendo errado?
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
fonte
fonte
Respostas:
Eu descobri. Acabou não funcionando porque o ID do grupo NÃO é o mesmo que o ID do nó para esse grupo orgânico. Aqui está a versão de trabalho:
fonte
Desde OG7-2.x o ID do nó == ID do grupo, não há necessidade de usar og_get_group (). E em og_group () e og_role_grant (), seu tipo de grupo é o primeiro argumento. Então, aqui está o mesmo código para OG 7.x-2.x
}
fonte
fonte