it-swarm.com.de

Wie man Knoten mit Begriff programmgesteuert erhält

Ich habe einen Wortschatz und einen benutzerdefinierten Inhaltstyp mit dem Feld Begriffsreferenz.

Wie kann ich alle Knoten eines bestimmten Begriffs in meinem Modul abrufen?

Etwas wie das? Das funktioniert nicht.

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

Sie möchten angeben, dass Sie zuerst nach Knoten suchen (und optional nach Ihrem Inhaltstyp) und dann nach Begriff filtern:

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

Hier ist ein gutes Beispiel einer Entitätsabfrage wie dieses (und mehr Feldbedingungen)

12
rocketeerbkw

Dafür gibt es eine API-Funktion taxonomy_select_nodes() :

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