Модуль:Message box/doc: различия между версиями

Материал из wikixw
Перейти к навигации Перейти к поиску
(Новая страница: «{{СИШ|nocat=1}} {{module rating|protected}} {{Используйте песочницу|testcases-other=Обсуждение_модуля:Message_box/tests}} {{onLua | module1 = No globals | module2 = Arguments | module3 = Category handler | module4 = Yesno | module5 = Message box/configuration | partly = yes }} {{docpage}} Этот модуль предназначен для создания шаблонов-сообщений ({{tl|mbox}}, {{tl|...»)
 
Нет описания правки
Метка: ручная отмена
 
(не показаны 2 промежуточные версии этого же участника)
Строка 3: Строка 3:
{{Используйте песочницу|testcases-other=Обсуждение_модуля:Message_box/tests}}
{{Используйте песочницу|testcases-other=Обсуждение_модуля:Message_box/tests}}
{{onLua
{{onLua
  | module1 = No globals
  | module1 = Arguments
  | module2 = Arguments
  | module2 = Category handler
| module3 = Category handler
  | module3 = Yesno
  | module4 = Yesno
  | module4 = Message box/configuration
  | module5 = Message box/configuration
  | partly  = yes
  | partly  = yes
}}
}}
Строка 20: Строка 19:
}}
}}


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


{{luacode|1=
{{luacode|1=
Строка 59: Строка 58:
Все перечисленные выше шаблоны основаны на одном базовом коде, а различия между каждым из них настраиваются [[Модуль:Message box/configuration|на отдельной странице]]. Ниже перечислены различные параметры конфигурации:
Все перечисленные выше шаблоны основаны на одном базовом коде, а различия между каждым из них настраиваются [[Модуль:Message box/configuration|на отдельной странице]]. Ниже перечислены различные параметры конфигурации:


* <code>types</code> таблица, содержащая данные, используемые типами сообщения. Ключи таблицы — это значения, которые можно передать определенному типу сообщения, а значения таблицы — это таблицы, содержащие класс и изображение, используемые этим типом.
* <code>types</code> — таблица, содержащая данные, используемые типами сообщения. Ключи таблицы — это значения, которые можно передать определенному типу сообщения, а значения таблицы — это таблицы, содержащие класс и изображение, используемые этим типом.
* <code>default</code> тип, используемый, если параметру типа не было передано значение или если было указано недопустимое значение.
* <code>default</code> — тип, используемый, если параметру типа не было передано значение или если было указано недопустимое значение.
* <code>showInvalidTypeError</code> показывать ли ошибку, если значение, переданное параметру типа, было недопустимым.
* <code>showInvalidTypeError</code> — показывать ли ошибку, если значение, переданное параметру типа, было недопустимым.
* <code>allowBlankParams</code> обычно пустые значения удаляются из параметров, передаваемых модулю. Однако пробел сохраняется для параметров, включенных в таблицу <code>allowBlankParams</code>.
* <code>allowBlankParams</code> — обычно пустые значения удаляются из параметров, передаваемых модулю. Однако пробел сохраняется для параметров, включенных в таблицу <code>allowBlankParams</code>.
* <code>allowSmall</code> можно ли создать уменьшенную версию сообщения с помощью {{para|small|yes}}.
* <code>allowSmall</code> — можно ли создать уменьшенную версию сообщения с помощью {{para|small|yes}}.
* <code>smallParam</code> пользовательское имя для малого параметра. Например, если установлено значение <code>left</code>, вы можете создать малое сообщение, используя {{para|small|left}}.
* <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> использовать ли пустую ячейку {{tag|td}}, если нет набора изображений. Это используется для сохранения интервалов между окнами сообщений шириной менее 100 % экрана.
* <code>imageEmptyCell</code> — использовать ли пустую ячейку {{tag|td}}, если нет набора изображений. Это используется для сохранения интервалов между окнами сообщений шириной менее 100 % экрана.
* <code>imageEmptyCellStyle</code> следует ли стилизовать пустые ячейки изображения.
* <code>imageEmptyCellStyle</code> — следует ли стилизовать пустые ячейки изображения.
* <code>imageCheckBlank</code> приводит ли {{para|image|blank}} к отсутствию изображения.
* <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> использовать ли текстовые поля, которые можно свернуть, то есть {{para|issue}}, {{para|fix}}, {{para|talk}} и т. д. В настоящее время используется только в ambox.
* <code>useCollapsibleTextFields</code> — использовать ли текстовые поля, которые можно свернуть, то есть {{para|issue}}, {{para|fix}}, {{para|talk}} и т. д. В настоящее время используется только в ambox.
* <code>imageRightNone</code> если {{para|imageright|none}} приводит к тому, что изображение не отображается в правой части окна сообщения.
* <code>imageRightNone</code> — если {{para|imageright|none}} приводит к тому, что изображение не отображается в правой части окна сообщения.
* <code>allowMainspaceCategories</code> разрешить категоризацию в основном пространстве имен.
* <code>allowMainspaceCategories</code> — разрешить категоризацию в основном пространстве имен.
* <code>templateCategory</code> название категории для размещения на странице шаблона.
* <code>templateCategory</code> — название категории для размещения на странице шаблона.
* <code>templateCategoryRequireName</code> требуется ли параметр {{para|name}} для отображения категории шаблона.
* <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>
[[Категория:Модули:Документация]]

Текущая версия от 14:11, 28 июня 2023

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

Использование[править]

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

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

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

local box = messageBox.main( boxType, {
    param1 = param1,
    param2 = param2,
    -- Еще параметры...
})

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

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

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

Вызов через #invoke[править]

Помимо функции main, в модуле есть отдельные функции для каждого типа сообщений. Они вызываются кодом {{#invoke:Message box|mbox|...}}, {{#invoke:Message box|ambox|...}} и т. д. Также эти функции могут быть вызваны другими модулями, однако это менее эффективно, чем вызов функции main.

Технические детали[править]

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

  • types — таблица, содержащая данные, используемые типами сообщения. Ключи таблицы — это значения, которые можно передать определенному типу сообщения, а значения таблицы — это таблицы, содержащие класс и изображение, используемые этим типом.
  • default — тип, используемый, если параметру типа не было передано значение или если было указано недопустимое значение.
  • showInvalidTypeError — показывать ли ошибку, если значение, переданное параметру типа, было недопустимым.
  • allowBlankParams — обычно пустые значения удаляются из параметров, передаваемых модулю. Однако пробел сохраняется для параметров, включенных в таблицу allowBlankParams.
  • allowSmall — можно ли создать уменьшенную версию сообщения с помощью |small=yes.
  • smallParam — пользовательское имя для малого параметра. Например, если установлено значение left, вы можете создать малое сообщение, используя |small=left.
  • smallClass — класс, используемый для малых сообщений.
  • substCheck — выполнять проверку подстановки или нет.
  • classes — массив классов для использования в сообщении.
  • imageEmptyCell — использовать ли пустую ячейку <td></td>, если нет набора изображений. Это используется для сохранения интервалов между окнами сообщений шириной менее 100 % экрана.
  • imageEmptyCellStyle — следует ли стилизовать пустые ячейки изображения.
  • imageCheckBlank — приводит ли |image=blank к отсутствию изображения.
  • imageSmallSize — обычно изображения, используемые в малых сообщениях, имеют размер 30x30px. Этот параметр устанавливает пользовательский размер.
  • imageCellDiv — следует ли заключать изображение в div, обеспечивая максимальный размер изображения.
  • useCollapsibleTextFields — использовать ли текстовые поля, которые можно свернуть, то есть |issue=, |fix=, |talk= и т. д. В настоящее время используется только в ambox.
  • imageRightNone — если |imageright=none приводит к тому, что изображение не отображается в правой части окна сообщения.
  • allowMainspaceCategories — разрешить категоризацию в основном пространстве имен.
  • templateCategory — название категории для размещения на странице шаблона.
  • templateCategoryRequireName — требуется ли параметр |name= для отображения категории шаблона.
  • templateErrorCategory — имя категории ошибок, которая будет использоваться на странице шаблона.
  • templateErrorParamsToCheck — массив имен параметров для проверки. Если таковые отсутствуют, к странице шаблона применяется templateErrorCategory.