it-swarm.asia

العقدة $ متاحة دائمًا في page.tpl.php

أتلقى خطأً دوريًا بشأن عدم تحديد العقدة $ في أحد ملفات القوالب الخاصة بي ، ولدي شرط بسيط إذا تحقق من نوع العقدة المعروضة. افترضت أن العقدة $ متاحة دائمًا ، أم أنني مخطئ؟

12
marksward

العقدة $ غير محددة بالضرورة ، من page.tpl.php Drupal 7 API :

عقدة $: كائن العقدة ، إذا كانت هناك عقدة محملة تلقائيًا مرتبطة بالصفحة ، ومعرف العقدة هو الوسيطة الثانية في مسار الصفحة (على سبيل المثال ، العقدة/12345 والعقدة/12345/المراجعات ، ولكن ليس التعليق/الرد/12345).

12
Bart

بشكل افتراضي ، فقط على صفحات العقدة هو المتغير $ node المحدد. بالنسبة للصفحة الأولى (موجز) ، اعرض الصفحات ، والتعليق ، وما إلى ذلك ، فهي ليست كذلك.

إذا كنت تريد متغير عقدة $ محددًا على صفحة ليست عقدة ، فسيتعين عليك تعديل/إنشاء وظيفة MYTHEME_preprocess_page (& $ variables) في ملف theme.php الخاص بك.

لتجنب الخطأ الخاص بك ، في ملف القالب الخاص بك التفاف المتغير $ عقدة في

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

أو قم بإزالته تمامًا

8
iStryker