it-swarm.asia

كيفية إنشاء خطاف؟

كيف يمكنني إنشاء خطاف خاص بي (مشابه لتلك الموجودة Drupal) لأخرى Drupal للاستخدام؟

17
markdorison

أنت في الواقع لا تخلق خطافات. يمكنك استخدام وظائف المساعد مثل module_invoke_all() ، module_invoke() أو drupal_alter() لاستدعاء جميع الوظائف المطابقة لـ نمط الاسم المتوقع. عادةً ما يتم العثور على الدالات المستدعاة باستخدام module_implements() .

حتى لو لم تكن هناك حاجة لعمل الخطافات ، فإن أفضل ممارسة هي توثيقها في MODULE.api.php من خلال إنشاء بذرة فارغة hook_NAME وظائف تعليقات الوثائق .

20
Pierre Buyle

يمكنك أيضًا إنشاء ربط ، باستخدام 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 لرؤية هذا الخطاف الجديد تحت علامة تبويب العقدة.

0
M a m a D