কিভাবে অর্গানিক গ্রুপের সদস্য সত্ত্বাগুলি প্রোগ্রামক্রমে তালিকাভুক্ত করবেন?


17

আমি কীভাবে প্রোগ্রামিংয়ে অর্গানিক গ্রুপের সদস্য সত্ত্বার তালিকা পেতে পারি?

(আমি জানি ভিউ ব্যবহার করে কীভাবে গ্রুপের সদস্যদের একটি তালিকা পেতে পারি - আমি জৈব গ্রুপ এপিআই ব্যবহার করে এটি করতে পছন্দ করতাম তবে সঠিক পদ্ধতিটি সন্ধান করতে পারিনি))

উত্তর:


14

সরাসরি জৈব গ্রুপ এপিআই ব্যবহার করে:

og_get_group_members_properties($yourGroupNode, array(), 'members', 'node');

আপনাকে ব্যবহারকারী আইডির একটি অ্যারে দেয়।

শুধুমাত্র সক্রিয়, মুলতুবি বা অবরুদ্ধ ব্যবহারকারীদের পেতে, আপনি উদাহরণের মতো 'সদস্যদের' জায়গায় 'সদস্য__1', 'সদস্যগণ ২২' বা 'সদস্যগণ ৩৩' রাখতে পারেন:

og_get_group_members_properties($yourGroupNode, array(), 'members__1', 'node');

এর, যদি আপনি পছন্দ করেন তবে এটির মতো:

og_get_group_members_properties($yourGroupNode, array(), 'members__' . OG_STATE_ACTIVE, 'node');

প্রত্যাবর্তিত মূল্যের উদাহরণ:

Array
(
    [0] => 48
    [1] => 49
    [2] => 51
)

1
এটি সঠিক উত্তর হওয়া উচিত
ক্রিস

11

বা ডিবিটিএনজি এর মাধ্যমে:

$query = db_select("og_membership", "ogm");
$query->condition("ogm.gid", $yourGroupID, "=");
$query->condition("ogm.group_type", "node", "=");
$query->fields("ogm", array("entity_type", "etid"));
$result = $query->execute();
print_r($result->fetchAll());

... যা আপনাকে পিএইচপি কোডে ফলাফল সেট ফিল্টার করার পরিবর্তে অন্যান্য টেবিলগুলিতে যোগদানের অনুমতি দেয় যা আপনি যদি ব্যবহার করেন তবে EntityFieldQuery



2

স্মোক্রিস সলিউশন কাজ করেছিল তবে আমি এর সাথে আরও একটি উপায় খুঁজে পেয়েছি EntityFieldQuery:

$query = new EntityFieldQuery();
$entities = $query->entityCondition('entity_type', 'node')
  ->fieldCondition('og_group_ref', 'target_id', $yourGroupID)
  ->execute();

প্রত্যাবর্তিত মূল্যের উদাহরণ:

{"node":
  {"22":{"nid":"22","vid":"22","type":"panoramique"},
   "32":{"nid":"32","vid":"32","type":"panoramique"},
   "35":{"nid":"35","vid":"35","type":"panoramique"},
   "36":{"nid":"36","vid":"36","type":"panoramique"}
  }
}

0

@ স্মোক্রিস থেকে উত্তর প্রসারিত করা হচ্ছে

সদস্যতার জন্য সক্রিয় স্থিতি হল "1" ( ->condition('ogm.state', 1, '='))।

function _get_users_in_group($gid) {
  $query = db_select('users', 'u');

  $query
    ->condition('u.uid', 0, '<>')
    ->condition('u.status', 1, '=')
    ->condition('ogm.state', 1, '=')
    ->fields('u', array('uid', 'name'))
    ->join('og_membership', 'ogm', "ogm.gid = :gid AND u.uid = ogm.etid AND ogm.entity_type = 'user'", array(':gid' => $gid));
  return $query->execute();
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.