تصویر محمدعلی اکبری

برای پردازش هر درخواست در دروپال تابع menu_execute_active_handler فراخوانی می‌شود. در این تابع بر اساس الگوی مسیر درخواست (Request path) اطلاعات مسیر یابی جستجو می‌شود. این اطلاعات قبلا در hook_menuها ایجاد شده است.

بعد از پیدا کردن اطلاعات مسیر یابی تابعی که در 'page callback' مربوطه رجیستر شده بود، فراخوانی می‌شود. این تابع می‌تواند مقادیر زیر را بازگرداند:

  • NULL: به معنی عدم وجود محتوا
  • یکی از ثابت‌های وضعیت (menu status constant)
  • HTML
  • آرایه رندر شدنی (Renderable array)

نکته: آرایه رندر شدنی از این جهت مزیت دارد که قابلیت انعطاف بیشتری دارد و بعدا توسط ماژول‌های دیگر قابل alter کردن است.

مقدار برگشتی از page callback برای تحویل به تابعی که در delivery callback تعیین شده است، ارسال می‌شود. تابع پیش فرض drupal_deliver_html_page است. این تابع در نهایت یک خروجی HTML تحویل دروپال می‌دهد تا در بلوک content نمایش داده شود.

توابع جدید را میتوان برای delivery callback توسعه داد، اما قبل از توسعه بدانید که توابع زیر برای این کار از قبل در دروپال وجود دارند:

  • drupal_deliver_html_page
  • ajax_deliver
  • drupal_json_output
  • هر تابع دیگری که یک ورودی دریافت کرده، آن را فرمت می‌کند و یک رشته باز می‌گرداند.

دیدگاه‌ها

تصویر Yekta

Yekta (تایید نشده)

سلام ، یک سوال در مورد سیستم نوتیفکیشن سایت طرفداری داشتم.
می خواستم بدونم برای پیاده سازیش از ماژول های
https://drupal.org/project/message و https://drupal.org/project/rules استفاده کردید ؟

ببخشید سوالم ربطی به مطلب نداشت.

تصویر محمدعلی اکبری

محمدعلی اکبری

سلام؛ نه این ماژولهای کارایی لازم رو نداشتن در نهایت از تکنیک های دیگه ای برای پاسخگویی به چند صدهزار نوتیفیکیشن تولید شده در روز استفاده کردیم.

افزودن نظر جدید