ฉันมีโหนดนี้ที่เป็นของกลุ่มและฉันต้องการได้รับ ID กลุ่มของโหนดนั้นเพื่อพิมพ์สิ่งที่ชอบ$node->nid;
แต่มีกลุ่ม ID
เป็นไปได้ไหม
ฉันมีโหนดนี้ที่เป็นของกลุ่มและฉันต้องการได้รับ ID กลุ่มของโหนดนั้นเพื่อพิมพ์สิ่งที่ชอบ$node->nid;
แต่มีกลุ่ม ID
เป็นไปได้ไหม
คำตอบ:
ความสัมพันธ์ระหว่างเนื้อหาของกลุ่มและกลุ่มผ่านความสัมพันธ์เป็นสมาชิก เนื่องจากเป็นไปได้ที่เนื้อหากลุ่มจะเป็นสมาชิกของหลายกลุ่มดังนั้นรหัสต่อไปนี้จะดึงรายการของกลุ่ม:
$groups = og_get_entity_groups('node', $node);
นี่คืออาร์เรย์หลายมิติที่มีกลุ่ม 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 กุญแจสำคัญในการเข้าถึงพวกเขาคือหมายเลข
$og_groups=array(5=>5, 15=>15);
หวังว่าจะช่วย
og(organic groups)
โมดูลเพิ่มentity refrence
ฟิลด์ประเภทเนื้อหาที่คุณต้องการจะเป็นหรือจะเป็นgroup
group content
โดยชื่อเขตข้อมูลเริ่มต้นคือog_group_ref
แต่มันอาจเปลี่ยนเป็นชื่ออื่น หากคุณต้องการ exactlly หาชื่อฟิลด์และโปรดดูประเภทเนื้อหาของคุณจัดการข้อมูล admin/structure/types/manage/article/fields
(ช่วยให้คิดว่าชนิดของเนื้อหาบทความการพิจารณาของคุณ)
หยิบชื่อเขตข้อมูลชื่อ เครื่อง (บางอย่างชอบog_group_ref
)
คุณสามารถทำอะไรเช่นนี้:
$node=node_load($nid);
$ogId=$node->og_group_ref['und'][0]['target_id'];
ค้นหา gid จากนั้นลองพิมพ์วัตถุ $ node ทั้งหมดเช่น:
print_r ($ โหนด);
เหตุผลบางอย่างคำตอบของ Drupal จะไม่แสดงอะไรในแท็ก php แต่คุณควรใช้คำสั่ง php เพื่อทำให้เอาต์พุตอ่านได้ง่ายขึ้น
ลอง ctrl + F แล้วค้นหาว่ามีการแสดงหมายเลขใด จากนั้นคุณสามารถทำตามรูปแบบของอาร์เรย์ / วัตถุเพื่อพิมพ์เมื่อ $ node พร้อมใช้งาน