Saya secara berkala mendapatkan kesalahan tentang $ node yang tidak terdefinisi dalam salah satu file templat saya. Saya memiliki kondisi sederhana jika memeriksa jenis simpul yang ditampilkan. Saya berasumsi $ node selalu tersedia, atau saya salah?
Saya secara berkala mendapatkan kesalahan tentang $ node yang tidak terdefinisi dalam salah satu file templat saya. Saya memiliki kondisi sederhana jika memeriksa jenis simpul yang ditampilkan. Saya berasumsi $ node selalu tersedia, atau saya salah?
Jawaban:
$ node belum tentu ditentukan, dari page.tpl.php Drupal 7 API :
$ node: Objek node, jika ada node yang dimuat secara otomatis yang terkait dengan halaman, dan ID node adalah argumen kedua di jalur halaman (misalnya node / 12345 dan node / 12345 / revisi, tetapi bukan komentar / balasan / 12345).
Secara default, hanya pada halaman node didefinisikan variabel $ node. Untuk halaman depan (feed), lihat halaman, komentar, dll.
Jika Anda ingin variabel $ node didefinisikan pada halaman yang bukan node, maka Anda harus mengedit / membuat fungsi MYTHEME_preprocess_page (& $ variabel) di file theme.php theme Anda.
Untuk menghindari kesalahan Anda, dalam file templat Anda bungkus variabel $ node dalam
if (isset($node)) {
// do something with $node
}
Atau hapus sepenuhnya