Cara mendapatkan node dengan istilah pemrograman

9

Saya memiliki Vocabulary dan Custom Content Type yang memiliki referensi istilah lapangan.

Bagaimana saya bisa mendapatkan semua node istilah tertentu dalam modul saya?

Sesuatu seperti ini? Ini tidak berhasil.

$field = field_info_field('field_game');
$results = new EntityFieldQuery;
$results->fieldCondition($field, 'field_game_tid', '5')
  ->execute();

$nids = array();
foreach($results as $result) {
  $nids[] = $result->nid;
}

$nodes = node_load_multiple($nids);
Toktik
sumber

Jawaban:

13

Anda ingin menentukan bahwa Anda mencari node terlebih dahulu (dan opsional berdasarkan jenis konten Anda), dan kemudian filter berdasarkan istilah:

$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'YOUR_CONTENT_TYPE_HERE')
->fieldCondition('field_game', 'tid', 5);

$result = $query->execute();
$nids = array_keys($result['node']);
$nodes = entity_load('node', $nids);

Berikut ini contoh yang bagus dari permintaan entitas seperti ini (dan lebih banyak kondisi lapangan)

rocketeerbkw
sumber
4

Ada fungsi API taxonomy_select_nodes()untuk itu:

$tid = 5;
$nids = taxonomy_select_nodes($tid, FALSE); // FALSE for paging.
$nodes = node_load_multiple($nids);
Елин Й.
sumber