मैं नोड का समूह आईडी कैसे प्राप्त कर सकता हूं?


9

मेरे पास यह नोड है जो एक समूह से संबंधित है, और मैं उस नोड की समूह आईडी प्राप्त करना चाहता हूं, इसे प्रिंट करने के लिए, कुछ ऐसा है $node->nid;लेकिन समूह आईडी के साथ।

क्या यह संभव है?

जवाबों:


11

समूह सामग्री और समूह के बीच संबंध एक सदस्यता संबंध के माध्यम से है। चूंकि समूह सामग्री के लिए कई समूहों का सदस्य होना संभव है, तो निम्न कोड समूहों की सूची को पुनः प्राप्त करेगा:

$groups = og_get_entity_groups('node', $node);

यह मान के रूप में कुंजी और सदस्यता के रूप में समूह unit_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);          
    }
  }
}

नमस्ते क्या आप कृपया बता सकते हैं कि यह कैसे करना है, अगर मैं Drupal 7 के साथ समूह मॉड्यूल का उपयोग कर रहा हूं? मुझे इसका उत्तर नहीं मिला
badiya

4

मुझे कल रात इसकी ज़रूरत थी। क्या यह इस तरह था:

$node = node_load($nid);
$og_id = current($node->og_groups)

$ og_groups में सभी OG की एक सरणी होती है जो किसी पोस्ट का सदस्य होता है। तुम उन सभी के साथ मिल सकते हैं। ते उन्हें एक्सेस करने की कुंजी nid है।

$og_groups=array(5=>5, 15=>15); 

उम्मीद है की वो मदद करदे।


3

og(organic groups)मॉड्यूल जोड़ने entity refrenceसामग्री प्रकार के क्षेत्र आप चाहते हैं एक हो 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'];

2

जीआईडी ​​का पता लगाएं फिर पूरे $ नोड ऑब्जेक्ट को प्रिंट करने का प्रयास करें, जैसे कुछ:

  print_r ($ नोड);  

Drupal के कुछ कारण php टैग में कुछ भी प्रदर्शित नहीं करेंगे, लेकिन आउटपुट को अधिक पठनीय बनाने के लिए आपको php को पूर्व में लपेट देना चाहिए।

Ctrl + F आज़माएं और पता करें कि नंबर कहां आउटपुट है। आप $ नोड उपलब्ध होने पर इसे प्रिंट करने के लिए सरणियों / वस्तुओं के प्रारूप का अनुसरण कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.