मैं समय-समय पर अपनी एक टेम्पलेट फ़ाइल में $ नोड के अपरिभाषित होने के बारे में एक त्रुटि प्राप्त कर रहा हूं। मेरे पास एक सरल अगर स्थिति है जो प्रदर्शित नोड प्रकार की जांच करता है। मुझे लगता है कि $ नोड हमेशा उपलब्ध है, या क्या मैं गलत हूं?
मैं समय-समय पर अपनी एक टेम्पलेट फ़ाइल में $ नोड के अपरिभाषित होने के बारे में एक त्रुटि प्राप्त कर रहा हूं। मेरे पास एक सरल अगर स्थिति है जो प्रदर्शित नोड प्रकार की जांच करता है। मुझे लगता है कि $ नोड हमेशा उपलब्ध है, या क्या मैं गलत हूं?
जवाबों:
$ नोड को आवश्यक रूप से परिभाषित नहीं किया गया है, page.tpl.php Drupal 7 API से :
$ नोड: नोड ऑब्जेक्ट, यदि पेज के साथ स्वचालित रूप से लोड नोड जुड़ा हुआ है, और नोड आईडी पेज के पथ में दूसरा तर्क है (जैसे नोड / 12345 और नोड / 12345 / संशोधन, लेकिन टिप्पणी / उत्तर / नहीं / 12345)।
डिफ़ॉल्ट रूप से, केवल नोड पृष्ठों पर $ नोड परिभाषित किया गया है। मुख पृष्ठ (एक फ़ीड) के लिए, पृष्ठ देखें, टिप्पणी करें, आदि, वे नहीं हैं।
यदि आप किसी पृष्ठ पर परिभाषित $ नोड चर चाहते हैं कि यह एक नोड नहीं है, तो आपको अपनी थीम template.php फ़ाइल में MYTHEME_preprocess_page (और $ चर) फ़ंक्शन को संपादित / बनाना होगा।
अपनी त्रुटि से बचने के लिए, अपनी टेम्पलेट फ़ाइल में $ नोड चर को एक में लपेटें
if (isset($node)) {
// do something with $node
}
या इसे पूरी तरह से हटा दें