Odpowiedzi:
Relacja między zawartością grupy a grupą odbywa się poprzez relację członkowską. Ponieważ możliwe jest, aby zawartość grupy była członkiem wielu grup, następujący kod pobierze listę grup:
$groups = og_get_entity_groups('node', $node);
Jest to wielowymiarowa tablica z grupą typ_obiektu jako kluczem i członkostwem jako wartością. Każde członkostwo to tablica z identyfikatorem członkostwa w miarę wpisywania, a następnie identyfikatorem jednostki grupy jako wartością. Aby przejść od węzła treści grupy do wszystkich jego rodziców, których użyłbyś ...
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);
}
}
}
Potrzebowałem tej ostatniej nocy. Czy to tak:
$node = node_load($nid);
$og_id = current($node->og_groups)
$ og_groups zawiera tablicę wszystkich OG, do których należy post. Możesz zdobyć je wszystkie z foreach. Kluczem do nich jest nid.
$og_groups=array(5=>5, 15=>15);
Mam nadzieję, że to pomaga.
og(organic groups)
Moduł add entity refrence
pole do typów zawartości chcesz być group
lub być group content
. domyślnie nazwa pola to, og_group_ref
ale może zmieni się na inną nazwę. Jeśli chcesz dokładnie znaleźć nazwę pola og, zobacz pole zarządzania typem zawartości (załóżmy, że rozważasz typ zawartości artykułu) admin/structure/types/manage/article/fields
.
Podnieś pole grupy NAZWA MASZYNY (coś takiego og_group_ref
).
Możesz coś takiego:
$node=node_load($nid);
$ogId=$node->og_group_ref['und'][0]['target_id'];
Znajdź gid, a następnie spróbuj wydrukować cały obiekt $ node, coś w stylu:
print_r ($ node);
Z jakiegoś powodu odpowiedzi Drupala nie wyświetlą niczego w tagach php, ale powinieneś owinąć php w pre, aby wynik był bardziej czytelny.
Spróbuj ctrl + F i sprawdź, gdzie jest wyprowadzana liczba. Następnie możesz postępować zgodnie z formatem tablic / obiektów, aby wydrukować go, gdy dostępny jest $ node.