¿Existe una función API de Drupal como node_load()
esa que devolverá una lista de nodos por un tipo dado?
Lo intenté $nodes = node_load(array("type" => 'student_vote'))
, pero solo devuelve un nodo.
Sé que podría codificar algo así node_load()
, pero quería ver si ya podría haber algo así.
No existe tal API para Drupal 6. Lo más cercano que puede hacer es consultar adecuadamente todas las ID de nodo para el tipo de contenido y luego cargar cada una usando node_load (), pero esto requerirá n + 1 consultas y no es muy eficiente.
Nota:
db_rewrite_sql
garantizará la verificación de acceso y otros filtros proporcionados por el módulo (como el filtrado de idioma proporcionado por el módulo i18n).Para Drupal 7, puede usar
$nodes = node_load_multiple(array(), array('type' => $type));
pero el$conditions
argumento denode_load_multiple()
está en desuso. En su lugar, debe usar EntityFieldQuery para consultar las ID de nodo y luego usarnode_load_multiple()
pero sin un$condition
argumento s.fuente
Ya hay varias buenas respuestas, pero toman la pregunta literalmente y se refieren solo a los nodos.
Dado que D6 no tiene una API para hacer lo que se le pide, y no es necesario limitarse a nodos en D7 y reenviar, creo que una buena respuesta debería ser entidad genérica.
fuente
EntityFieldQuery
, pero ya has escrito la tuya. Solo agregaría que el segundo argumento deuser_load_multiple()
ha quedado en desuso desde Drupal 7, y el código utilizado debería ser el que muestre.array_keys($results[$entity_type])
?entity_load($entity_type, array_keys($results['node']));
. Havent lo probó para otras entidades ...drupal 8:
fuente
Obtenga la lista de nodos de un tipo de contenido
Drupal 6:
Drupal 7:
Drupal 8:
Espero que esto sea útil.
fuente