it-swarm.asia

تحقق مما إذا كانت الصفحة عقدة باستخدام الوسيطات في D7

في Drupal 6 ، للتحقق مما إذا كانت الصفحة الحالية عقدة ، نستخدم المقتطف التالي:

if (arg(0)=='node' && is_numeric(arg(1))) { /* Do stuff. */ }

نظرًا لأن هذا عبارة يتم استخدامها بشكل متكرر ، أتساءل عما إذا كانت هناك طريقة أقصر للقيام بذلك في Drupal 7 ، مثل شيء مشابه لما يلي:

if (is_node()) { /* Do stuff. */ }
6
Logi

في الواقع ، هناك وظيفة متاحة في Drupal 6 أيضًا: menu_get_object() . مع القيم الافتراضية ، سيتم إرجاع كائن العقدة إذا يبدأ عنوان URL للصفحة الحالية بـ عقدة/[معرّف عقدة] (حيث [معرّف عقدة] هو معرّف العقدة) و FALSE في الحالات الأخرى ؛ تكون الوظيفة مفيدة بشكل خاص إذا كنت بحاجة بعد الوصول إلى كائن العقدة المرتبط بعد التحقق من الصفحة الحالية مع الصفحة ، ولا تحصل الدالة التي تستدعي menu_get_object() على كائن عقدة بين وسيطاتها.

في Drupal 7 ، هناك أيضًا وظيفة أخرى ، ولكن الغرض منها هو فقط التحقق مما إذا كانت الصفحة المعروضة الحالية هي عرض الصفحة الكاملة للعقدة التي تم تمريرها كوسيطة: node_is_page() .

15
kiamlaluno