في Drupal 6 ، للتحقق مما إذا كانت الصفحة الحالية عقدة ، نستخدم المقتطف التالي:
if (arg(0)=='node' && is_numeric(arg(1))) { /* Do stuff. */ }
نظرًا لأن هذا عبارة يتم استخدامها بشكل متكرر ، أتساءل عما إذا كانت هناك طريقة أقصر للقيام بذلك في Drupal 7 ، مثل شيء مشابه لما يلي:
if (is_node()) { /* Do stuff. */ }
في الواقع ، هناك وظيفة متاحة في Drupal 6 أيضًا: menu_get_object()
. مع القيم الافتراضية ، سيتم إرجاع كائن العقدة إذا يبدأ عنوان URL للصفحة الحالية بـ عقدة/[معرّف عقدة] (حيث [معرّف عقدة] هو معرّف العقدة) و FALSE
في الحالات الأخرى ؛ تكون الوظيفة مفيدة بشكل خاص إذا كنت بحاجة بعد الوصول إلى كائن العقدة المرتبط بعد التحقق من الصفحة الحالية مع الصفحة ، ولا تحصل الدالة التي تستدعي menu_get_object()
على كائن عقدة بين وسيطاتها.
في Drupal 7 ، هناك أيضًا وظيفة أخرى ، ولكن الغرض منها هو فقط التحقق مما إذا كانت الصفحة المعروضة الحالية هي عرض الصفحة الكاملة للعقدة التي تم تمريرها كوسيطة: node_is_page()
.