صُنّفت هذه الوحدة على أنها محمية. تصل الوحدة لهذه المرحلة عندما تستخدم في صفحات كثيرة جدًا. فيجب أن تحمى بسبب أن عمليات التخريب أو الأخطاء تطال الكثير من الصفحات. كما هناك تعديلات غير مجدية تتم على هذه الوحدات تكون عبارة عن حركات صبيانية تسبب تعب للخادم.
هذه الوحدة مستخدمة في عدد كبير من الصفحات (+1705563) .
لتفادي خلق بلبلة على نطاق واسع من الصفحات وزيادة الأعباء على الخوادم، يجب تجربة أي تعديل في هذه الصفحات الفرعية /ملعب أو /تجربة أو في ملعبك. بعدها يمكنك اضافة التعديلات دفعة واحدة، ورجاءً، لا تنسَ مناقشة أمر التعديلات أوّلًا قبل القيام بها.
هذه وحدة ميتا التي تنفذ قوالب صندوق الرسائل {{mbox}}، {{ambox}}، {{cmbox}}، {{fmbox}}، {{imbox}}، {{ombox}}، و{{tmbox}}. إنها مخصصة للاستخدام من وحدات Lua، ويجب عدم استخدامها مباشرة من صفحات الويكي. إذا كنت ترغب في استخدام وظائف هذه الوحدة من صفحة ويكي، يرجى استخدام قوالب صندوق الرسائل الفردية بدلاً من ذلك.
الاستخدام
لاستخدام هذه الوحدة من وحدة لوا أخرى، تحتاج أولاً إلى تحميلها.
localmessageBox=require('Module:Message box')
لإنشاء صندوق رسالة، استخدم وظيفة main. تأخذ هذه الوظيفة معلمين: الأول هو نوع الصندوق (كنص)، والثاني هو جدول يحتوي على معلمات صندوق الرسائل.
localbox=messageBox.main(boxType,{param1=param1,param2=param2,-- مزيد من المعلمات...})
راجع صفحة القالب لكل نوع صندوق لمعرفة المعلمات المتاحة.
الاستخدام من #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 على صفحة القالب.