O relacionamento entre o conteúdo do grupo e um grupo é por meio de uma relação de associação. Como é possível que o conteúdo do grupo seja membro de vários grupos, o código a seguir recuperará a lista de grupos:
$groups = og_get_entity_groups('node', $node);
Essa é uma matriz multidimensional com o grupo entity_types como chave e associações como valor. Cada associação é uma matriz com o ID da associação como chave e, em seguida, a ID da entidade do grupo como valor. Então, para ir de um nó de conteúdo de grupo, para todos os pais do grupo, você usaria ...
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);
}
}
}
Eu precisava disso ontem à noite. Fez assim:
$ og_groups contém uma matriz de todos os OG dos quais uma postagem é membro. Você poderia pegá-los todos com um foreach. A chave para acessá-los é o nid.
Espero que ajude.
fonte
O
og(organic groups)
módulo adicionaentity refrence
campo aos tipos de conteúdo que você deseja que sejagroup
ou que sejagroup content
. por padrão, o nome do campo é,og_group_ref
mas talvez ele mude para outro nome. Se você deseja descobrir exatamente o nome do campo, consulte o campo de gerenciamento do tipo de conteúdo (suponha que seja o tipo de conteúdo do artigo considerado)admin/structure/types/manage/article/fields
.Escolha o campo do grupo NOME DA MÁQUINA (algo assim
og_group_ref
).Você pode algo como isto:
fonte
Descubra o gid e tente imprimir o objeto $ node inteiro, algo como:
Por algum motivo, as respostas do Drupal não exibirão nada nas tags php, mas você deve colocar o php no pré para tornar a saída mais legível.
Tente ctrl + F e encontre onde o número é gerado. Você pode seguir o formato das matrizes / objetos para imprimi-lo quando $ node estiver disponível.
fonte