$ düğümü her zaman page.tpl.php dosyasında bulunur


12

Periyodik olarak $ düğümü şablon dosyalarımdan birinde tanımsız olma hakkında bir hata alıyorum.Gösterilen düğüm türünü kontrol eden basit bir if koşulum var. $ Düğümünün her zaman kullanılabilir olduğunu varsaydım, yoksa yanılıyor muyum?


Diğerleri bu soruyu kullanabilmek için bunu yanıt olarak işaretlemek isteyebilirsiniz :)
Bart

Yanıtlar:


12

page.tpl.php Drupal 7 API'sinden $ düğümü mutlaka tanımlanmamıştır :

$ node: Sayfa ile ilişkilendirilmiş otomatik olarak yüklenen bir düğüm varsa ve düğüm kimliği sayfanın yolundaki ikinci bağımsız değişkendir (örneğin, düğüm / 12345 ve düğüm / 12345 / revizyonlar, ancak yorum / yanıt / 12345).


8

Varsayılan olarak, yalnızca düğüm sayfalarında tanımlanan $ düğüm değişkeni vardır. Ön sayfa (özet akışı), sayfaları görüntüleme, yorum vb. İçin değildir.

Bir sayfada düğüm olmadığı bir $ düğüm değişkeni tanımlamak istiyorsanız, theme template.php dosyanızdaki MYTHEME_preprocess_page (& $ değişkenler) işlevini düzenlemeniz / oluşturmanız gerekir.

Hatanızı önlemek için şablon dosyanızda $ node değişkenini bir

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

Veya tamamen kaldırın


$ düğümü page.tpl.php'de tanımlanmış bir değişken olabilir
Bart

1
varsayılan olarak, evet, eğer onun bir NODE. Eğer değilse, tanımlanmamıştır. Gerçeklerinizi düz tutun ve geçerli bir cevabı küçümsemeyin.
iStryker

"Yalnızca düğüm sayfalarında $ düğüm değişkeni tanımlanır." geçerli değil.
Bart
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.