Поле ввода InputBox
InputBox (ФормаВвода) — расширение MediaWiki, позволяющее добавлять на вики-страницы предопределённые формы HTML. Пользователь может "заполнить" форму (ввести текст, выбрать пункт меню, и т.п.), вводя текста в поле ввода.
Исходно InputBox создавался Эриком Мёллером для того, чтобы можно было добавить форму Создать статью в Викиновости.
Содержание
Пример
Вики-код<inputbox> type=search width=42 buttonlabel=Перейти searchbuttonlabel=Найти break=no </inputbox> |
Результат |
Форму такого вида можно найти на главной странице Википедии. Её можно использовать, чтобы начать новую статью, поскольку она не переходит в режим редактирования для уже существующих статей.
Основной синтаксис
InputBoxes устроен следующим образом:
<inputbox> type= bgcolor= width= default= preload= editintro= buttonlabel= hidden= searchbuttonlabel= break= namespaces= prefix= </inputbox> |
Параметр type обязателен. Все остальные параметры опциональны.
Типы форм ввода
Тип | Пример | Описание |
---|---|---|
type=search | Создаёт форму для поиска с шириной поля ввода по умолчанию в 50 символов. Производится поиск информации, добавленной в текстовое поле. | |
type=create | Создаёт новую страницу. Введённая в текстовое поле информация становится именем новой страницы, открываемой в режиме редактирования. | |
type=comment | Добавляет новый раздел внизу страницы, имя которой задано в текстовом поле ввода. | |
type=commenttitle | Добавляет новый раздел c заголовком, определённом в тестовом поле. Целевая страница определяется через значение параметра page= .
| |
type=fulltext | Форма поиска только с одной кнопкой полнотекстового поиска, без кнопки «Перейти». |
Параметры
Параметр Назначение |
Пример |
---|---|
bgcolor= Все типы Задаёт цвет фона таблицы (значения цветов HTML). Без кавычек. |
<inputbox> type=search bgcolor=#eeeeff </inputbox> |
width= Все типы Задаёт ширину формы ввода в символах. |
<inputbox> type=create width=24 </inputbox> |
default= Все типы Текст, помещаемый в InputBox по умолчанию. |
<inputbox> type=comment default=User talk:Eloquence </inputbox> |
preload= comment, create Текст, взятый со страницы с заданным здесь названием, будет помещён в открывшуюся при создании новой страницы форму редактирвоания. |
<inputbox> type=create preload=Log </inputbox> |
Введите название ещё не существующей страницы в примерах InputBox выше или ниже, и нажмите «⧼createarticle⧽» или «Оставить комментарий», соответственно, для проверки эффекта. | |
editintro= comment, create текст со страницы, имя которой задано через этот параметр, будет отображаться в качестве инструкции над окном редактирования. |
<inputbox> type=comment editintro=MediaWiki:Missingcommenttext </inputbox> |
buttonlabel= Все типы Этот текст будет отображаться на основной кнопке формы. |
<inputbox> type=comment buttonlabel=Добавить новую сплетню </inputbox> |
hidden= create, comment Этот параметр отключает собственно поле ввода. Используется в паре с параметром "default", который в этом случае определяет не умолчание, но фиксированное имя страницы. |
<inputbox> type=comment editintro=Extension:InputBox/editintro comment preload=Extension:InputBox/preload hidden=yes default=Extension talk:Inputbox buttonlabel=Оставить комментарий на странице обсуждения </inputbox> |
searchbuttonlabel= search, fulltext Этот текст будет отображаться на кнопке «⧼searchfulltext⧽» формы поиска. |
<inputbox> type=search searchbuttonlabel=Копать глубже </inputbox> |
break= Все типы Определяет, будет или не будет делаться перевод строки между полем ввода и кнопкой (кнопками). Значение по умолчанию — yes (разрыв строки добавлен). |
<inputbox> type=create width=24 break=no </inputbox> |
namespaces= search, fulltext Поддержка флажков пространств имён при полнотекстовом поиске. Значение вида "Namespace**" задаёт режим использования настроек по умолчанию. |
<inputbox> type=search namespaces=Main**,Help </inputbox> |
prefix= search, fulltext Сузить область поиска, ограничив его страницами, начинающимися с определённого префикса. Заметьте, что это работает не для всех поисковых движков, в настоящее время — только с последней версией. По умолчанию — пустая строка (искать среди всех страниц). Примечание: подчеркивания не распознаются как пробелы. |
<inputbox> type=search prefix={{FULLPAGENAME}}/Archive </inputbox> |
Применение форм типа «create» для существующей страницы просто откроет её в режиме редактирования. В этом случае страница, заданная в качестве preload, будет проигнорирована. Применение форм типа «comment» допустимо и для новых страниц.
Тексты из пространства имён MediaWiki: приведены только для примера, в качестве значений editintro или preload могут быть указаны любые существующие страницы. К сожалению, режим preload пока не применим для поля «Краткое описание:» страницы Special:Upload.
Пожалуйста, не забывайте, что переменные, шаблоны, функции парсера и параметры шаблонов не поддерживаются в качестве параметров InputBox.
Закрепление выравнивания
Редакторам может потребоваться определять выравнивание отдельно для каждого случая использования форм ввода. Для этого можно просто удалить тег div tag из HTML-кода и задавать div при размещении InputBox в вики-тексте. Вместо этого редакторы могут установить модифицированную версию расширения со встроенной поддержкой возможности для редакторов измененять способ выравнивания — через определение значений параметра align=left, align=center, или align=right.
Использование InputBox в шаблонах
Когда требуется создавать множество похожих форм ввода, InputBox можно использовать внутри шаблона. Однако, передача значений параметров шаблона в значения параметров InputBox работает, только если тег <inputbox>...</inputbox> записан внутри шаблона в форме {{#tag:inputbox | ...}}.
В следующем примере представлен текст шаблона для создания вики-страницы на основе некотрого именованного шаблона:
{{#tag:inputbox | type=create buttonlabel=Создание новой {{{1|статьи}}} preload={{{2|Template:Статья}}} }}
При обработке шаблона, первый параметр дает элемент, который планируется создать (по умолчанию, статья), для отображения на кнопке, второй параметр задает имя шаблона, который используется для создания этого элемента (по умолчанию, Template:Статья).
Например, код формы ввода для создания нового проекта из шаблона проекта может выглядеть следующим образом:
{{Template:CreateNew|проект|Template:Проект}}