Bir düğümün grup kimliğini nasıl alabilirim?


9

Bir gruba ait olan bu düğüme sahibim ve bu düğümün grup kimliğini almak, grup kimliğiyle benzer bir şey yazdırmak istiyorum $node->nid;.

Mümkün mü?

Yanıtlar:


11

Grup içeriği ve bir grup arasındaki ilişki, üyelik ilişkisi üzerinden gerçekleşir. Grup içeriğinin birden fazla grubun üyesi olması mümkün olduğundan, aşağıdaki kod grupların listesini alır:

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

Bu, anahtar olarak entity_types grubu ve değer olarak üyelikler içeren çok boyutlu bir dizidir. Her üyelik, anahtar olarak üyelik kimliğine ve ardından değer olarak grubun varlık kimliğine sahip bir dizidir. Bir grup içerik düğümünden, kullanacağınız tüm grup ebeveynlerine geçmek için ...

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);          
    }
  }
}

Merhaba Drupal 7 ile birlikte Group modülünü kullanıyorsanız, bunu nasıl yapacağınızı söyleyebilir misiniz? Bir cevap bulamadım
Badiya

4

Dün gece buna ihtiyacım vardı. Bu şekilde mi:

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

$ og_groups, bir gönderinin üyesi olduğu tüm OG'lerin bir dizisini içerir. Hepsini bir foreach ile alabilirsiniz. Onlara erişmek için anahtar nid.

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

Umarım yardımcı olur.


3

og(organic groups)Modül eklenti entity refrenceistediğiniz içerik türlerine alan bir olmak groupveya olmaya group content. varsayılan olarak alanın adıdır, og_group_refancak başka bir isimle değişebilir. Og alan adını tam olarak öğrenmek istiyorsanız, lütfen içerik türü yönetme alanınıza bakın (düşünülen makale içerik türünüzü varsayalım) admin/structure/types/manage/article/fields. MACHINE NAME
grup alanını al (bazı şeyler gibi ).og_group_ref

Bunun gibi bir şey yapabilirsiniz:

$node=node_load($nid);
$ogId=$node->og_group_ref['und'][0]['target_id'];

2

Gidip yeri öğrenin, sonra tüm $ düğümü nesnesini yazdırmayı deneyin:

  print_r ($ düğüm);  

Bazı nedenlerden dolayı Drupal cevapları php etiketlerinde hiçbir şey göstermeyecektir, ancak çıktıyı daha okunabilir hale getirmek için php'yi önceden sarmalısınız.

Ctrl + F tuşlarını deneyin ve numaranın nereye verildiğini bulun. Daha sonra, $ düğümü kullanılabilir olduğunda yazdırmak için dizilerin / nesnelerin biçimini takip edebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.