Ответы:
Связь между содержимым группы и группой осуществляется через отношения членства. Поскольку групповой контент может быть членом нескольких групп, следующий код извлечет список групп:
$groups = og_get_entity_groups('node', $node);
Это многомерный массив с ключом group entity_types в качестве ключа и членством в качестве значения. Каждое членство является массивом с идентификатором членства в качестве ключа, а затем идентификатором объекта группы в качестве значения. Итак, чтобы перейти от узла группового контента ко всем его групповым родителям, вы бы использовали ...
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);
}
}
}
Мне нужно было прошлой ночью. Сделал это так:
$node = node_load($nid);
$og_id = current($node->og_groups)
$ og_groups содержит массив всех OG, членом которых является сообщение. Вы можете получить их все с foreach. Ключ для доступа к ним - это nid.
$og_groups=array(5=>5, 15=>15);
Надеюсь, это поможет.
og(organic groups)
Модуль добавить entity refrence
поле для типов контента , которые вы хотите быть group
или быть group content
. по умолчанию имя поля есть, og_group_ref
но, возможно, оно изменится на другое имя. Если вы хотите точно узнать имя поля og, обратитесь к полю управления типом контента (предположим, что вы рассматриваете тип контента статьи) admin/structure/types/manage/article/fields
.
Подберите групповое поле MACHINE NAME (что-то вроде og_group_ref
).
Вы можете что-то вроде этого:
$node=node_load($nid);
$ogId=$node->og_group_ref['und'][0]['target_id'];
Найдите gid и попробуйте напечатать весь объект $ node, что-то вроде:
print_r ($ узел);
По какой-то причине ответы Drupal не будут отображать ничего в тегах php, но вы должны обернуть php в pre, чтобы сделать вывод более читабельным.
Попробуйте Ctrl + F и найдите, где число выводится. Затем вы можете следовать формату массивов / объектов, чтобы распечатать его, когда $ node доступен.