Existe uma função da API Drupal node_load()
que retornará uma lista de nós por um determinado tipo?
Eu tentei $nodes = node_load(array("type" => 'student_vote'))
, mas ele retorna apenas um nó.
Eu sei que eu poderia codificar algo assim node_load()
, mas eu queria ver se pode haver algo assim por aí.
Não existe essa API para o Drupal 6. O mais próximo que você pode fazer é consultar corretamente todo o ID do nó para o tipo de conteúdo e carregar cada um usando node_load (), mas isso exigirá n + 1 consultas e não é muito eficiente.
Nota:
db_rewrite_sql
garantirá a verificação de acesso e a filtragem fornecida por outro módulo (como a filtragem de idioma fornecida pelo módulo i18n).Para o Drupal 7, você pode usar,
$nodes = node_load_multiple(array(), array('type' => $type));
mas o$conditions
argumento denode_load_multiple()
é preterido. Em vez disso, você deve usar EntityFieldQuery para consultar os IDs do nó e, em seguida, usarnode_load_multiple()
mas sem um$condition
argumento s.fonte
Já existem várias boas respostas, mas elas levam a pergunta literalmente e se referem apenas a nós.
Como o D6 não possui uma API para fazer o que está sendo solicitado, e não é necessário limitar-se a nós no D7 e para a frente, acho que uma boa resposta deve ser genérica para a entidade.
fonte
EntityFieldQuery
, mas você já escreveu a sua. Eu apenas acrescentaria que o segundo argumento deuser_load_multiple()
foi preterido desde o Drupal 7 e o código usado deve ser o que você mostra.array_keys($results[$entity_type])
?entity_load($entity_type, array_keys($results['node']));
. Havent testou-o para outras entidades ..drupal 8:
fonte
Obter a lista de nós de um tipo de conteúdo
Drupal 6:
Drupal 7:
Drupal 8:
Espero que isso seja útil.
fonte