Модуль:Message box/doc

Материал из Мегапедии
Перейти к: навигация, поиск

Шаблон:СИШ Шаблон:Module rating Шаблон:Используйте песочницу {{#invoke:Message box|ombox}}

Этот модуль предназначен для создания шаблонов-сообщений ({{mbox}}, {{ambox}}, {{cmbox}}, {{fmbox}}, {{imbox}}, {{ombox}} и {{tmbox}}), также он может использоваться другими модулями. Этот модуль не должен вызываться напрямую из статей, для этого используйте один из вышеперечисленных шаблонов-сообщений.

Использование

Чтобы использовать данный модуль в другом модуле, нужно для начала загрузить его:

Шаблон:Luacode

Чтобы создать шаблон-сообщение, используйте функцию main. У неё есть 2 параметра: первый — тип шаблона, второй — таблица с параметрами шаблона.

Шаблон:Luacode

Существует 7 вариантов оформления в зависимости от пространства имен, в котором располагается шаблон:

Функция Шаблон Тип страницы
mbox {{mbox}} определяется автоматически
ambox {{ambox}} статьи
cmbox {{cmbox}} категории
fmbox {{fmbox}} страницы интерфейса
imbox {{imbox}} файлы
tmbox {{tmbox}} страницы обсуждения
ombox {{ombox}} другие пространства имен

Подробнее о дополнительных параметрах шаблонов см. их документации.

Вызов через #invoke

Помимо функции main, в модуле есть отдельные функции для каждого типа сообщений. Они вызываются кодом Шаблон:Tc, Шаблон:Tc и т. д. Также эти функции могут быть вызваны другими модулями, однако это менее эффективно, чем вызов функции main.

Технические детали

Все перечисленные выше шаблоны основаны на одном базовом коде, а различия между каждым из них настраиваются на отдельной странице. Ниже перечислены различные параметры конфигурации:

  • types — таблица, содержащая данные, используемые типами сообщения. Ключи таблицы — это значения, которые можно передать определенному типу сообщения, а значения таблицы — это таблицы, содержащие класс и изображение, используемые этим типом.
  • default — тип, используемый, если параметру типа не было передано значение или если было указано недопустимое значение.
  • showInvalidTypeError — показывать ли ошибку, если значение, переданное параметру типа, было недопустимым.
  • allowBlankParams — обычно пустые значения удаляются из параметров, передаваемых модулю. Однако пробел сохраняется для параметров, включенных в таблицу allowBlankParams.
  • allowSmall — можно ли создать уменьшенную версию сообщения с помощью Шаблон:Para.
  • smallParam — пользовательское имя для малого параметра. Например, если установлено значение left, вы можете создать малое сообщение, используя Шаблон:Para.
  • smallClass — класс, используемый для малых сообщений.
  • substCheck — выполнять проверку подстановки или нет.
  • classes — массив классов для использования в сообщении.
  • imageEmptyCell — использовать ли пустую ячейку Шаблон:Tag, если нет набора изображений. Это используется для сохранения интервалов между окнами сообщений шириной менее 100 % экрана.
  • imageEmptyCellStyle — следует ли стилизовать пустые ячейки изображения.
  • imageCheckBlank — приводит ли Шаблон:Para к отсутствию изображения.
  • imageSmallSize — обычно изображения, используемые в малых сообщениях, имеют размер 30x30px. Этот параметр устанавливает пользовательский размер.
  • imageCellDiv — следует ли заключать изображение в div, обеспечивая максимальный размер изображения.
  • useCollapsibleTextFields — использовать ли текстовые поля, которые можно свернуть, то есть Шаблон:Para, Шаблон:Para, Шаблон:Para и т. д. В настоящее время используется только в ambox.
  • imageRightNone — если Шаблон:Para приводит к тому, что изображение не отображается в правой части окна сообщения.
  • allowMainspaceCategories — разрешить категоризацию в основном пространстве имен.
  • templateCategory — название категории для размещения на странице шаблона.
  • templateCategoryRequireName — требуется ли параметр Шаблон:Para для отображения категории шаблона.
  • templateErrorCategory — имя категории ошибок, которая будет использоваться на странице шаблона.
  • templateErrorParamsToCheck — массив имен параметров для проверки. Если таковые отсутствуют, к странице шаблона применяется templateErrorCategory.