回答:
グループコンテンツとグループの関係は、メンバーシップ関係を介して行われます。グループコンテンツが複数のグループのメンバーである可能性があるため、次のコードはグループのリストを取得します。
$groups = og_get_entity_groups('node', $node);
これは、キーとしてグループentity_types、値としてメンバーシップを持つ多次元配列です。各メンバーシップは、キーとしてメンバーシップIDを持ち、値としてグループのエンティティIDを持つ配列です。したがって、グループコンテンツノードから、使用するすべてのグループの親に移動するには...
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);
}
}
}
og(organic groups)
モジュールまたはにしentity refrence
たいコンテンツタイプへのモジュール追加フィールド。デフォルトではフィールド名はですが、別の名前に変更されている可能性があります。フィールド名を正確に知りたい場合は、コンテンツタイプ管理フィールドを参照してください(対象の記事のコンテンツタイプを想定します)。
グループフィールド MACHINE NAME(のようなもの)を選択します。group
group content
og_group_ref
admin/structure/types/manage/article/fields
og_group_ref
あなたはこのようなことができます:
$node=node_load($nid);
$ogId=$node->og_group_ref['und'][0]['target_id'];