هذه وحدة ميتا التي تنفذ قوالب صندوق الرسائل {{mbox}}، {{ambox}}، {{cmbox}}، {{fmbox}}، {{imbox}}، {{ombox}}، و{{tmbox}}. إنها مخصصة للاستخدام من وحدات Lua، ويجب عدم استخدامها مباشرة من صفحات الويكي. إذا كنت ترغب في استخدام وظائف هذه الوحدة من صفحة ويكي، يرجى استخدام قوالب صندوق الرسائل الفردية بدلاً من ذلك.

الاستخدام

عدل

لاستخدام هذه الوحدة من وحدة لوا أخرى، تحتاج أولاً إلى تحميلها.

local messageBox = require('Module:Message box')

لإنشاء صندوق رسالة، استخدم وظيفة main. تأخذ هذه الوظيفة معلمين: الأول هو نوع الصندوق (كنص)، والثاني هو جدول يحتوي على معلمات صندوق الرسائل.

local box = messageBox.main( boxType, {
    param1 = param1,
    param2 = param2,
    -- مزيد من المعلمات...
})

توجد سبعة أنواع متاحة من الصناديق:

نوع الصندوق القالب الغرض
mbox {{صندوق رسالة نطاق}} للصناديق التي تُستخدم في عدة نطاقات
ambox {{صندوق رسالة مقالة}} لصناديق رسائل المقالات
cmbox {{صندوق رسالة تصنيف}} لصناديق رسائل التصنيفات
fmbox {{صندوق رسالة تبصرة}} لصناديق رسائل الواجهات
imbox {{صندوق رسالة ملف}} لصناديق رسائل نطاق الملفات
tmbox {{صندوق رسالة نقاش}} لصناديق رسائل صفحات النقاش
ombox {{صندوق رسالة أخرى}} لصناديق الرسائل في نطاقات أخرى

راجع صفحة القالب لكل نوع صندوق لمعرفة المعلمات المتاحة.

الاستخدام من #invoke

عدل

بجانب وظيفة main، تحتوي هذه الوحدة على وظائف منفصلة لكل نوع صندوق. يتم الوصول إليها باستخدام الشيفرة {{#invoke:Message box|mbox|...}}، {{#invoke:Message box|ambox|...}}، إلخ. ستعمل هذه الوظائف عند استدعائها من وحدات أخرى، لكنها تستخدم الشيفرة المخصصة لمعالجة المعلمات المرسلة من #invoke، لذا فإن استدعاءها سيكون أقل كفاءة من استدعاء main.

التفاصيل التقنية

عدل

تستخدم الوحدة نفس الشيفرة الأساسية لكل من القوالب المذكورة أعلاه؛ تختلف بين كل منها باستخدام البيانات في وحدة:Message box/configuration. فيما يلي خيارات التكوين المختلفة وما تعنيه:

  • types – جدول يحتوي على بيانات تُستخدم بواسطة معلمة النوع في صندوق الرسائل. مفاتيح الجدول هي القيم التي يمكن تمريرها إلى معلمة النوع، وقيم الجدول هي جداول تحتوي على الفئة والصورة المستخدمة من قبل هذا النوع.
  • default – النوع الذي يجب استخدامه إذا لم يتم تمرير قيمة إلى معلمة النوع، أو إذا تم تحديد قيمة غير صالحة.
  • showInvalidTypeError – ما إذا كان يجب عرض خطأ إذا كانت القيمة المرسلة إلى معلمة النوع غير صالحة.
  • allowBlankParams – عادةً ما يتم حذف القيم الفارغة من المعلمات المرسلة إلى الوحدة. ومع ذلك، يتم الحفاظ على المسافات البيضاء للمعلمات المدرجة في جدول allowBlankParams.
  • allowSmall – ما إذا كان يمكن إنتاج نسخة صغيرة من صندوق الرسائل باستخدام "small=yes".
  • smallParam – اسم مخصص لمعلمة الصغير. على سبيل المثال، إذا تم تعيينه إلى "left" يمكنك إنتاج صندوق رسالة صغير باستخدام "small=left".
  • smallClass – الفئة التي يجب استخدامها لصناديق الرسائل الصغيرة.
  • substCheck – ما إذا كان يجب إجراء تحقق من الاستبدال أم لا.
  • classes – مصفوفة من الفئات التي يجب استخدامها مع صندوق الرسائل.
  • imageEmptyCell – ما إذا كان يجب استخدام خلية <td></td> فارغة إذا لم يتم تعيين صورة. يُستخدم ذلك للحفاظ على المسافات لصناديق الرسائل التي عرضها أقل من 100% من الشاشة.
  • imageEmptyCellStyle – ما إذا كان يجب تنسيق خلايا الصور الفارغة.
  • imageCheckBlank – ما إذا كانت "image=blank" تؤدي إلى عدم عرض أي صورة.
  • imageSmallSize – عادةً ما يتم تعيين الصور المستخدمة في صناديق الرسائل الصغيرة إلى 30x30 بكسل. يقوم هذا بتعيين حجم مخصص.
  • imageCellDiv – ما إذا كان يجب تضمين الصورة في div يفرض حجمًا أقصى للصورة.
  • useCollapsibleTextFields – ما إذا كان يجب استخدام حقول نصية يمكن طيها، مثل "issue"، "fix"، "talk"، إلخ. حاليًا، تُستخدم فقط في ambox.
  • imageRightNone – ما إذا كانت imageright=none تؤدي إلى عدم عرض أي صورة على الجانب الأيمن من صندوق الرسائل.
  • sectionDefault – الاسم الافتراضي لمعلمة "section". يعتمد على useCollapsibleTextFields.
  • allowMainspaceCategories – السماح بالتصنيف في النطاق الرئيسي.
  • templateCategory – اسم الفئة التي يجب وضعها على صفحة القالب.
  • templateCategoryRequireName – ما إذا كانت معلمة name مطلوبة لعرض فئة القالب.
  • templateErrorCategory – اسم فئة الخطأ التي يجب استخدامها على صفحة القالب.
  • templateErrorParamsToCheck – مصفوفة من أسماء المعلمات التي يجب التحقق منها. إذا كانت أي منها مفقودة، يتم تطبيق templateErrorCategory على صفحة القالب.