Come ottenere nodi con termine a livello di codice


9

Ho vocabolario e tipo di contenuto personalizzato con campo Termine di riferimento.

Come posso ottenere tutti i nodi del termine particolare nel mio modulo?

Qualcosa come questo? Questo non funziona

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

Risposte:


13

Si desidera specificare che si cercano prima i nodi (e facoltativamente per tipo di contenuto), quindi si filtra per termine:

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

Ecco un buon esempio di una query di entità come questa (e più condizioni sul campo)


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.