Saya memiliki beberapa node yang tidak diterbitkan, yang mana saya memiliki ID node mereka. Bagaimana saya bisa mempublikasikannya secara terprogram? Apakah benar mencapainya dalam modul khusus menggunakan kueri seperti berikut?
db_query("UPDATE {node} SET status = 1 WHERE nid = %d", $nid)
node_revision
, sehingga akan menyebabkan inkonsistensi.Jawaban:
Menggunakan
db_query()
adalah metode Drupal 6, yang tidak digunakan dalam Drupal 7. Untuk mencapai pekerjaan Anda, saya sarankan kode ini (tanpa permintaan manual).Jika Anda memiliki lebih banyak ID node, dan Anda ingin menerbitkan semua node itu, Anda dapat menggunakan kode berikut.
sumber
db_query
adalah metode Drupal 7 juga. Hanya butuh argumen yang berbeda.submit
handler kustom ke Anda sejak saat itu di custom submit handler kamu bisa menggunakan sesuatu seperti ini.ketika Anda menggunakan node_load (), node_load_multiple () untuk memuat (banyak) noad ada banyak kait akan dipanggil oleh modul, seperti hook_node_load , hook_node_operations , hook_node_prepare , hook_node_accesse . Tetapi dengan melakukan kueri langsung pada skema drupal kait itu akan diabaikan dan menyebabkan banyak masalah.
Pertanyaannya adalah:
Cukup gunakan kode di atas Jika node_load () atau node_load_multiple () tidak berfungsi karena kehabisan memori yang tersedia.
sumber