it-swarm-id.com

$ node selalu tersedia di page.tpl.php

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?

12
marksward

$ 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).

12
Bart

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 template Anda bungkus variabel $ node dalam

if (isset($node)) {
  // do something with $node
}

Atau hapus sepenuhnya

8
iStryker