Risposte:
La relazione tra il contenuto del gruppo e un gruppo avviene tramite una relazione di appartenenza. Poiché è possibile che il contenuto del gruppo sia membro di più gruppi, il seguente codice recupererà l'elenco dei gruppi:
$groups = og_get_entity_groups('node', $node);
Questa è una matrice multidimensionale con il gruppo entity_types come chiave e le appartenenze come valore. Ogni appartenenza è un array con l'id dell'appartenenza come chiave e quindi l'ID entità del gruppo come valore. Quindi per passare da un nodo di contenuto di gruppo a tutti i suoi genitori di gruppo dovresti usare ...
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);
}
}
}
Ne avevo bisogno l'ultima notte. Ti è piaciuto così:
$node = node_load($nid);
$og_id = current($node->og_groups)
$ og_groups contiene un array di tutte le OG di cui un post è membro. Potresti prenderli tutti con una foreach. La chiave per accedervi è il nid.
$og_groups=array(5=>5, 15=>15);
Spero che aiuti.
Il og(organic groups)
modulo aggiunge un entity refrence
campo ai tipi di contenuto che vuoi essere un group
o un group content
. per impostazione predefinita il nome del campo è og_group_ref
ma forse cambia in un altro nome. Se vuoi scoprire esattamente il nome del campo og, consulta il campo di gestione del tipo di contenuto (supponiamo che il tipo di contenuto dell'articolo considerato) admin/structure/types/manage/article/fields
.
Raccogli il campo del gruppo NOME MACCHINA (qualcosa del genere og_group_ref
).
Puoi qualcosa come questo:
$node=node_load($nid);
$ogId=$node->og_group_ref['und'][0]['target_id'];
Scopri il gid quindi prova a stampare l'intero oggetto $ node, qualcosa del tipo:
print_r ($ node);
Alcuni motivi per cui le risposte di Drupal non visualizzeranno nulla nei tag php, ma dovresti racchiudere il php in pre per rendere l'output più leggibile.
Prova ctrl + F e trova dove viene emesso il numero. È quindi possibile seguire il formato degli array / oggetti per stamparlo quando $ node è disponibile.