Gibt es eine solche Drupal-API-Funktion node_load()
, die eine Liste von Knoten eines bestimmten Typs zurückgibt?
Ich habe es versucht $nodes = node_load(array("type" => 'student_vote'))
, aber es gibt nur einen Knoten zurück.
Ich weiß, dass ich so etwas programmieren könnte node_load()
, aber ich wollte sehen, ob es so etwas schon gibt.
Für Drupal 6 gibt es keine solche API. Am besten fragen Sie alle Knoten-IDs für den Inhaltstyp ab und laden sie dann mit node_load (). Dies erfordert jedoch n + 1 Abfragen und ist nicht sehr effizient.
Hinweis:
db_rewrite_sql
Stellt die Zugriffskontrolle und andere vom Modul bereitgestellte Filter sicher (z. B. die vom i18n-Modul bereitgestellte Sprachfilterung).Für Drupal 7 können Sie verwenden,
$nodes = node_load_multiple(array(), array('type' => $type));
aber das$conditions
Argument vonnode_load_multiple()
ist veraltet. Verwenden Sie stattdessen EntityFieldQuery , um die Knoten-IDs abzufragen , und verwenden Sie dann,node_load_multiple()
jedoch ohne ein$condition
s-Argument.quelle
Es gibt bereits mehrere gute Antworten, aber sie nehmen die Frage wörtlich und beziehen sich nur auf Knoten.
Da D6 keine API hat, um das zu tun, wonach gefragt wird, und es nicht notwendig ist, sich auf Knoten in D7 und höher zu beschränken, sollte eine gute Antwort Entity-generisch sein.
quelle
EntityFieldQuery
, aber du hast deine bereits geschrieben. Ich möchte nur hinzufügen, dass das zweite Argument vonuser_load_multiple()
seit Drupal 7 veraltet ist und der verwendete Code der von Ihnen gezeigte sein sollte.array_keys($results[$entity_type])
?entity_load($entity_type, array_keys($results['node']));
. Havent testete es für andere Entitäten ..Drupal 8:
quelle
Ruft die Liste der Knoten von einem Inhaltstyp ab
Drupal 6:
Drupal 7:
Drupal 8:
Hoffe das wäre hilfreich.
quelle