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