Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
| {{СИШ|nocat=1}}
| |
| {{module rating|protected}}
| |
| {{Используйте песочницу|testcases-other=Обсуждение_модуля:Message_box/tests}}
| |
| {{onLua
| |
| | module1 = Arguments
| |
| | module2 = Category handler
| |
| | module3 = Yesno
| |
| | module4 = Message box/configuration
| |
| | partly = yes
| |
| }}
| |
| {{docpage}}
| |
| Этот модуль предназначен для создания шаблонов-сообщений ({{tl|mbox}}, {{tl|ambox}}, {{tl|cmbox}}, {{tl|fmbox}}, {{tl|imbox}}, {{tl|ombox}} и {{tl|tmbox}}), также он может использоваться другими модулями. Этот модуль не должен вызываться напрямую из статей, для этого используйте один из вышеперечисленных шаблонов-сообщений.
| |
|
| |
|
| == Использование ==
| |
| Чтобы использовать данный модуль в другом модуле, нужно для начала загрузить его:
| |
|
| |
| {{luacode|1=
| |
| local messageBox = require('Module:Message box')
| |
| }}
| |
|
| |
| Чтобы создать шаблон-сообщение, используйте функцию <code>main</code>. У неё есть 2 параметра: первый — тип шаблона, второй — таблица с параметрами шаблона.
| |
|
| |
| {{luacode|1=
| |
| local box = messageBox.main( boxType, {
| |
| param1 = param1,
| |
| param2 = param2,
| |
| -- Еще параметры...
| |
| })
| |
| }}
| |
|
| |
| Существует 7 вариантов оформления в зависимости от пространства имен, в котором располагается шаблон:
| |
|
| |
| {| class="wikitable"
| |
| ! Функция !! Шаблон !! Тип страницы
| |
| |-
| |
| | <code>mbox</code> || {{tl|mbox}} || определяется автоматически
| |
| |-
| |
| | <code>ambox</code> || {{tl|ambox}} || статьи
| |
| |-
| |
| | <code>cmbox</code> || {{tl|cmbox}} || категории
| |
| |-
| |
| | <code>fmbox</code> || {{tl|fmbox}} || страницы интерфейса
| |
| |-
| |
| | <code>imbox</code> || {{tl|imbox}} || файлы
| |
| |-
| |
| | <code>tmbox</code> || {{tl|tmbox}} || страницы обсуждения
| |
| |-
| |
| | <code>ombox</code> || {{tl|ombox}} || другие пространства имен
| |
| |}
| |
|
| |
| Подробнее о дополнительных параметрах шаблонов см. их документации.
| |
|
| |
| == Вызов через #invoke ==
| |
|
| |
| Помимо функции <code>main</code>, в модуле есть отдельные функции для каждого типа сообщений. Они вызываются кодом {{tc|#invoke:Message box|mbox|...}}, {{tc|#invoke:Message box|ambox|...}} и т. д. Также эти функции могут быть вызваны другими модулями, однако это менее эффективно, чем вызов функции <code>main</code>.
| |
|
| |
| == Технические детали ==
| |
| Все перечисленные выше шаблоны основаны на одном базовом коде, а различия между каждым из них настраиваются [[Модуль:Message box/configuration|на отдельной странице]]. Ниже перечислены различные параметры конфигурации:
| |
|
| |
| * <code>types</code> — таблица, содержащая данные, используемые типами сообщения. Ключи таблицы — это значения, которые можно передать определенному типу сообщения, а значения таблицы — это таблицы, содержащие класс и изображение, используемые этим типом.
| |
| * <code>default</code> — тип, используемый, если параметру типа не было передано значение или если было указано недопустимое значение.
| |
| * <code>showInvalidTypeError</code> — показывать ли ошибку, если значение, переданное параметру типа, было недопустимым.
| |
| * <code>allowBlankParams</code> — обычно пустые значения удаляются из параметров, передаваемых модулю. Однако пробел сохраняется для параметров, включенных в таблицу <code>allowBlankParams</code>.
| |
| * <code>allowSmall</code> — можно ли создать уменьшенную версию сообщения с помощью {{para|small|yes}}.
| |
| * <code>smallParam</code> — пользовательское имя для малого параметра. Например, если установлено значение <code>left</code>, вы можете создать малое сообщение, используя {{para|small|left}}.
| |
| * <code>smallClass</code> — класс, используемый для малых сообщений.
| |
| * <code>substCheck</code> — выполнять проверку подстановки или нет.
| |
| * <code>classes</code> — массив классов для использования в сообщении.
| |
| * <code>imageEmptyCell</code> — использовать ли пустую ячейку {{tag|td}}, если нет набора изображений. Это используется для сохранения интервалов между окнами сообщений шириной менее 100 % экрана.
| |
| * <code>imageEmptyCellStyle</code> — следует ли стилизовать пустые ячейки изображения.
| |
| * <code>imageCheckBlank</code> — приводит ли {{para|image|blank}} к отсутствию изображения.
| |
| * <code>imageSmallSize</code> — обычно изображения, используемые в малых сообщениях, имеют размер 30x30px. Этот параметр устанавливает пользовательский размер.
| |
| * <code>imageCellDiv</code> — следует ли заключать изображение в div, обеспечивая максимальный размер изображения.
| |
| * <code>useCollapsibleTextFields</code> — использовать ли текстовые поля, которые можно свернуть, то есть {{para|issue}}, {{para|fix}}, {{para|talk}} и т. д. В настоящее время используется только в ambox.
| |
| * <code>imageRightNone</code> — если {{para|imageright|none}} приводит к тому, что изображение не отображается в правой части окна сообщения.
| |
| * <code>allowMainspaceCategories</code> — разрешить категоризацию в основном пространстве имен.
| |
| * <code>templateCategory</code> — название категории для размещения на странице шаблона.
| |
| * <code>templateCategoryRequireName</code> — требуется ли параметр {{para|name}} для отображения категории шаблона.
| |
| * <code>templateErrorCategory</code> — имя категории ошибок, которая будет использоваться на странице шаблона.
| |
| * <code>templateErrorParamsToCheck</code> — массив имен параметров для проверки. Если таковые отсутствуют, к странице шаблона применяется <code>templateErrorCategory</code>.
| |
| <includeonly>[[Категория:Модули:Оформление]]</includeonly>
| |