|
مناقشة
|
مناقشة
|
مناقشة
|
مناقشة
|
مناقشة
|
مناقشة
|
مناقشة
|
مناقشة
|
|
مناقشة
|
مناقشة
|
مناقشة
|
مناقشة
|
مناقشة
|
مناقشة
|
مناقشة
|
مناقشة
|
مثال عندما تعلن وحدة node عن حاجتها لمشاركة الوحدات
تم اقتباس كلمة هوك من فيلم شهير و هو الكابتن هوك أضفت صورته على مشاركتك لكي تفهم لماذا يسمى بالكابتن هوك كما تلاحظ له بأنه فقد اليد اليسار و استبدلها بما يسمو هوك
إذاً كلمة هوك في دروبال تعني شنغل أو عليقة
أتمنى أن تكون قد فهمت معنى كلمة هوك و لنعود لدر وبال ما هي الطريقة التي تتفاعل من خلالها وحدات دروبال
يمكننا أن نلخص الفكرة الأساسية لدروبال كما يلي : خلال معالجة أمر ما أي وحدة من وحدات دروبال تستطيع أن تطلب من الوحدات الأخرى المشاركة في عمل معين مثل إنشاء صفحة أو إنشاء صندوق
لنأخذ مثال على ذلك وحدة node مهمتها استخراج المعلومات من قاعدة البيانات و عرضها بشكل html
في مرحلة من مراحل التحضير و هي إضافة الروابط في أسفل الصفحة مثل علق أو سجل الدخول لإضافة تعليق أو نسخة للطباعة
بما أن وحدة node لا تملك أي رابط من هذه الروابط فهي تطلب من الوحدات الأخرى المشاركة معها في إنشاء الصفحة
وتقول لكافة الوحدات هناك مكان لإضافة رابط من يهمه الأمر عليه إضافته
ترد عليها وحدة comments التي تريد التعليقات أنا أريد أن أضيف رابط علق على هذا الموضوع
و لو قمت بتفعيل وحدة print سترد عليها و تقول أنا أريد إضافة رابط نسخة pdf و هكذا
اخترعت دروبال مفهوم hooks أو الشنغل لتسهيل عملية التعاون بين الوحدات كل وحدة تستطيع الإعلان عن عليقات أو شناغل جاهزة للاستعمال في مثالنا عن وحدة node الشنغل أو الهوك اسمه link و كل وحدة تريد أن تستعمل هذا الشنغل أي تريد أن تنشئ رابط في أسفل العقدة عليها الإعلان عليه بالشكل التالي اسم الوحدة يلحقه اسم الهوك أو الشنغل
أي وحدة comments ستعلن بالشكل التالي comments_links
و وحدة print ستعلن بالشكل التالي print_links
الإعلان في البي اتش بي يشبه ما يلي :
function comment_link($type, $node = NULL, $teaser = FALSE) {
$links = array();
...
}
//comment
و عندما تعلن وحدة node عن حاجتها لمشاركة الوحدات الأخرى ووجود مكان للتعلق أو لشنغلة رابط في أسفل العقدة
تعلنه بالشكل التالي :
$node->links = invoke_all('link', $node, $teaser); }
//comment
invoke_all هو ال function الذي سيبحث عن ال function hooks من نوع link في كل الوحدات المفعلة على الموقع
في حال وجودها سيجمعها و يعطيها لوحدة node بشكل جدول يحتوي على كل روابط الوحدات الاخرى
يكفي أن تعرف اسم الهوك ومعرفة إعدادات الوحدة التي تطرح هذا الهوك لكي تنشئ وحدة تستعمل هذا الهوك
لمعرفة الشناغل المتوفرة اطلع على الصفحة التالية Hooks
شكرا وضحت
الف شكر اخي لؤي وضحت الفكرة
الفكرة جباره وهي ما يميز دوربال عن غيرها
بهذه الفكرة تتناغم الوحدات مع بعض
اشكرك بعنف
------------------------------------------------------
just this site
http://www.drupalarabic.com