كيف يمكنني إنشاء خطاف خاص بي (مشابه لتلك الموجودة Drupal) لأخرى Drupal للاستخدام؟
أنت في الواقع لا تخلق خطافات. يمكنك استخدام وظائف المساعد مثل module_invoke_all()
، module_invoke()
أو drupal_alter()
لاستدعاء جميع الوظائف المطابقة لـ نمط الاسم المتوقع. عادةً ما يتم العثور على الدالات المستدعاة باستخدام module_implements()
.
حتى لو لم تكن هناك حاجة لعمل الخطافات ، فإن أفضل ممارسة هي توثيقها في MODULE.api.php
من خلال إنشاء بذرة فارغة hook_NAME
وظائف تعليقات الوثائق .
يمكنك أيضًا إنشاء ربط ، باستخدام hook_trigger_info يمكنك إنشاء ربط جديد ، وفي الوحدة النمطية الخاصة بك تحتاج إلى تنفيذه. كمثال ، افترض أنك تريد إنشاء أرشيف للعقد ووضع العقد القديمة فيه. تحتاج أيضًا إلى تشغيل خطاف عند الانتهاء من عملية الأرشيف. سيكون شيء من هذا القبيل
function hook_trigger_info() {
return array(
'node' => array(
'archive_nodes' => array(
'label' => t('Archive old nodes'),
)
)
);
}
بعد تحديد الخطاف ، تكون وحدتك مسؤولة عن تنفيذ الخطاف والإجراءات باستخدام module_invoke () أو module_invoke_all () .
يمكنك تمكين وحدة trigger
لرؤية هذا الخطاف الجديد تحت علامة تبويب العقدة.