Ich versuche, in Drupal 7 programmgesteuert einen Gruppenknoten zu erstellen und dieser Gruppe einen Benutzer hinzuzufügen. Der Gruppenknoten wird einwandfrei erstellt, aber der Benutzer wird nicht zur Gruppe hinzugefügt, und es werden keine Fehler angezeigt. Ich vermute, ich verwende die Funktion og_group falsch, bin mir aber nicht sicher. Was mache ich falsch?
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
quelle
quelle
Antworten:
Ich habe es herausgefunden. Es funktionierte schließlich nicht, da die Gruppen-ID NICHT mit der Knoten-ID für diese organische Gruppe übereinstimmt. Hier ist die Arbeitsversion:
quelle
Da OG7-2.x die Knoten-ID == Gruppen-ID ist, muss og_get_group () nicht verwendet werden. Und in og_group () und og_role_grant () ist Ihr Gruppentyp das erste Argument. Hier ist also der gleiche Code für OG 7.x-2.x
}}
quelle
quelle