Antworten:
Die Beziehung zwischen Gruppeninhalt und einer Gruppe erfolgt über eine Mitgliedschaftsbeziehung. Da Gruppeninhalte Mitglied mehrerer Gruppen sein können, ruft der folgende Code die Liste der Gruppen ab:
$groups = og_get_entity_groups('node', $node);
Dies ist ein mehrdimensionales Array mit der Gruppe entity_types als Schlüssel und Mitgliedschaften als Wert. Jede Mitgliedschaft ist ein Array mit der Mitglieds-ID als Schlüssel und der Entitäts-ID der Gruppe als Wert. Um von einem Gruppeninhaltsknoten zu allen Gruppeneltern zu gelangen, die Sie verwenden würden ...
foreach (og_get_entity_groups('node', $node) as $entity_type => $og_memberships) {
foreach ($og_memberships as $membership_id => $entity_id) {
if ($entity_type == 'node') {
// Assuming we only want to deal with node groups, we can
// access the group node with...
$group_node = node_load($entity_id);
}
}
}
Ich brauchte das letzte Nacht. Hat es so gefallen:
$node = node_load($nid);
$og_id = current($node->og_groups)
$ og_groups enthält ein Array aller OGs, zu denen ein Beitrag gehört. Sie könnten sie alle mit einem foreach bekommen. Der Schlüssel, um auf sie zuzugreifen, ist die NID.
$og_groups=array(5=>5, 15=>15);
Ich hoffe, das hilft.
Das og(organic groups)
Modul fügt entity refrence
Feld zu Inhaltstypen hinzu, die ein group
oder ein sein sollen group content
. Standardmäßig heißt das Feld, og_group_ref
aber möglicherweise ändert es sich in einen anderen Namen. Wenn Sie den Feldnamen genau herausfinden möchten, lesen Sie bitte das Feld zur Verwaltung Ihres Inhaltstyps (nehmen wir an, dass Ihr Artikelinhaltstyp berücksichtigt wird) admin/structure/types/manage/article/fields
.
Nimm das Gruppenfeld MASCHINENNAME (so etwas wie og_group_ref
).
Sie können so etwas:
$node=node_load($nid);
$ogId=$node->og_group_ref['und'][0]['target_id'];
Finden Sie die GID heraus und versuchen Sie, das gesamte $ node-Objekt zu drucken.
print_r ($ node);
Aus irgendeinem Grund zeigen Drupal-Antworten nichts in den PHP-Tags an, aber Sie sollten das PHP vorab einpacken, um die Ausgabe besser lesbar zu machen.
Versuchen Sie Strg + F und finden Sie heraus, wo die Nummer ausgegeben wird. Sie können dann dem Format der Arrays / Objekte folgen, um es zu drucken, wenn $ node verfügbar ist.