Apakah ada fungsi Drupal API seperti node_load()
itu akan mengembalikan daftar node berdasarkan jenis yang diberikan?
Saya sudah mencoba $nodes = node_load(array("type" => 'student_vote'))
, tetapi hanya mengembalikan satu node.
Saya tahu saya bisa membuat kode seperti itu node_load()
, tetapi saya ingin melihat apakah mungkin sudah ada yang seperti itu di luar sana.
Tidak ada API untuk Drupal 6. Yang paling dekat yang dapat Anda lakukan adalah dengan benar meminta semua ID node untuk jenis konten kemudian memuat masing-masing menggunakan node_load () tetapi ini akan membutuhkan n +1 query dan tidak sangat efisien.
Catatan:
db_rewrite_sql
akan memastikan pemeriksaan akses dan pemfilteran yang disediakan modul lainnya (seperti pemfilteran bahasa yang disediakan oleh modul i18n).Untuk Drupal 7, Anda dapat menggunakan
$nodes = node_load_multiple(array(), array('type' => $type));
tetapi$conditions
argumennode_load_multiple()
sudah tidak digunakan lagi. Sebagai gantinya, Anda harus menggunakan EntityFieldQuery untuk meminta ID node lalu gunakannode_load_multiple()
tetapi tanpa$condition
argumen.sumber
Sudah ada beberapa jawaban bagus, tetapi mereka menjawab pertanyaan itu secara harfiah dan hanya merujuk pada simpul.
Karena D6 tidak memiliki API untuk melakukan apa yang diminta, dan tidak perlu membatasi diri ke node di D7 dan meneruskan, saya merasa jawaban yang baik harus entitas generik.
sumber
EntityFieldQuery
, tetapi Anda sudah menulis jawaban Anda. Saya hanya akan menambahkan bahwa argumen keduauser_load_multiple()
telah ditinggalkan sejak Drupal 7, dan kode yang digunakan harus yang Anda tunjukkan.array_keys($results[$entity_type])
?entity_load($entity_type, array_keys($results['node']));
. Havent mengujinya untuk entitas lain ..drupal 8:
sumber
Dapatkan daftar node dari tipe konten
Drupal 6:
Drupal 7:
Drupal 8:
Semoga ini bisa membantu.
sumber