Jump to content

Расширение:InputBox

From mediawiki.org
This page is a translated version of the page Extension:InputBox and the translation is 97% complete.
Outdated translations are marked like this.
This extension comes with MediaWiki 1.21 and above. Таким образом, вам не нужно загружать его снова. Тем не менее, вы всё равно должны следовать другим инструкциям.
Справка по расширениям MediaWiki
InputBox
Статус релиза: стабильно
Реализация Тег , Действие страницы , Поиск
Описание Позволяет пользователям добавлять предопределенные HTML формы на вики-страницы
Автор(ы)
  • Erik Möller
  • Leonardo Pimenta
  • Rob Church
  • Trevor Parscal
  • Daniel Schuba
Последняя версия Continuous updates
MediaWiki >= 1.43
Изменения в БД Нет
Лицензия MIT License
Скачать
  • <inputbox>
Ежеквартальные загрузки 244 (Ranked 24th)
Использование общедоступными вики 10,897 (Ranked 10th)
Переведите расширение InputBox, если оно доступно на translatewiki.net
Проблемы Открытые задачи · Сообщить об ошибке

Расширение InputBox добавляет уже созданные HTML формы к страницам вики. Пользователи могут «заполнить» форму (вводя текст, выбирая пункты меню и т.д.), вводя текст в поле.

InputBox был первоначально создан пользователем Erik Möller с целью добавления поля Создать статью для Викиновостей.

Установка

  • Скачайте и распакуйте файл(ы) в папку с названием InputBox в вашей папке extensions/.
    Вместо этого разработчикам и соавторам кода следует установить расширение из Git, используя:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/InputBox
  • Добавьте следующий код в конце вашего файла LocalSettings.php :
    wfLoadExtension( 'InputBox' );
    
  • Yes Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.

Примеры

Поле, позволяющее задать новый заголовок

Вики-код

<inputbox>
type=create
width=30
break=no
</inputbox>

Результат

Общий синтаксис

Поля ввода конструируются примерно следующим способом:

<inputbox>
type=
bgcolor=
width=
page=
default=
preload=
editintro=
buttonlabel=
hidden=
searchbuttonlabel=
fulltextbutton=
labeltext=
break=
namespaces=
prefix=
placeholder=
minor=
nosummary=
summary=
id=
inline=
dir=
preloadparams[]=
searchfilter=
useve=
usedt=
arialabel=
</inputbox>

Параметр type обязателен. Все другие параметры не обязательны. preloadparams[] могут использоваться более одного раза.

Типы полей

Положение "по умолчанию" кнопки(кнопок) “Отправить” ниже поля ввода.

Кнопка “Отправить” может быть сдвинута вправо с помощью параметра разрыва строки чтобы устранить разрыв строки между полем и кнопкой: break=no.

Положение кнопки “Отправить” справа полезно для полей поиска, когда поисковые запросы могли бы перекрыть кнопку поиска под окном поиска.

тип Пример Описание
search
Создает окно поиска с шириной по умолчанию 50 символов. Информация, добавленная в текстовое поле, ищется по точному заголовку страницы (первая кнопка) или тексту в статьях (вторая кнопка).
create

Создание новой страницы Информация, добавляемая в текстовое поле, представляет собой имя создаваемой страницы (или страницы для редактирования, если она уже существует).
comment

Добавляет новый раздел в нижней части страницы, указанной в текстовом поле (страница создается, если она новая).
commenttitle

Добавляет новый раздел с заголовком раздела, введенным в текстовое поле. Заголовок может быть указан параметром default=. Страница должна быть указана с параметром page=. For some reason this does NOT work when using the extension by invoking it with {{#tag}}, only when using ‎<inputbox>. (введено в rev:47203)
fulltext
Искать только с помощью кнопки полнотекстового поиска, без кнопки точного соответствия (кнопка “Перейти”). (введено в rev:45269)
move

Переместите страницу на другое имя. This also doesn't work when creating it by invoking a tag. (введено в gerrit:97559)

Для type=search2 расположение кнопки поиска по умолчанию — встроенное справа. В настоящее время не представляется возможным добавлять другие параметры в этот тип поля ввода. В этом поле поиска выполняется поиск по всей вики, в которую он помещен.

тип Пример
search2
 

Параметры

Параметр Описание Область Совместимость Пример Результат
arialabel= Укажите атрибут aria-label в поле ввода, чтобы сгенерированная разметка была доступна программам чтения с экрана. Все типы
1.35
Gerrit change 572050
<inputbox>
type=search
arialabel=Search the Wiki
</inputbox>
bgcolor= Устанавливает цвет фона таблицы (значения цвета HTML). Не используйте кавычки Все типы ?
<inputbox>
type=search
bgcolor=#eeeeff
</inputbox>
width= Устанавливает ширину InputBox в символах. Все типы ?
<inputbox>
type=create
width=24
</inputbox>

default= Текст по умолчанию для ввода в InputBox. Все типы ?
<inputbox>
type=comment
default=User talk:Eloquence
</inputbox>

preload= Страница под этим заголовком будет предварительно загружена (см. Manual:Создание страниц с предзагрузкой текста ) в пустое поле редактирования при создании новой страницы. create, comment, commenttitle ?
<inputbox>
type=create
preload=Log
</inputbox>

Введите название несуществующей страницы в примере InputBox выше или ниже и нажмите Создать статью или Новый раздел соответственно, чтобы проверить этот эффект.
editintro= Страница, указанная в этом параметром, будет отображаться в виде инструкций над окном редактирования. create, comment ?
<inputbox>
type=comment
editintro=MediaWiki:Missingcommenttext
</inputbox>

buttonlabel= Эта надпись будет использоваться как главная кнопка для формы. Все типы ?
<inputbox>
type=comment
buttonlabel=Добавить новый слух
</inputbox>

hidden= Это означает, что тут нет InputBox.

Используется с параметром "default", который теперь является не значением по умолчанию, а фиксированным значением имени страницы. Любое значение означает yes/true.

create, comment ?
<inputbox>
type=comment
editintro=Extension:InputBox/editintro comment
preload=Extension:InputBox/preload
hidden=yes
default=Extension talk:InputBox
buttonlabel=Оставить комментарий на странице обсуждения
</inputbox>

searchbuttonlabel= Эта метка будет использоваться для кнопки «Полнотекстовый поиск» формы поиска. search, fulltext ?
<inputbox>
type=search
searchbuttonlabel=Копать глубже
</inputbox>
fulltextbutton= Показать кнопку полнотекстового поиска в форме search2 search2 ?
<inputbox>
type=search2
searchbuttonlabel=Копать глубже
fulltextbutton=true
</inputbox>
labeltext= Текст для отображения рядом с кнопкой search2 ?
<inputbox>
type=search2
searchbuttonlabel=Копать глубже
labeltext=Искать: 
</inputbox>
 
break= Вставлять ли разрыв строки между полем ввода и кнопками. По умолчанию yes (используйте разрыв строки). Все типы ?
<inputbox>
type=create
width=24
break=no
</inputbox>
namespaces= Поддержка флажков пространства имен в полнотекстовом поиске.

С "Main**" пространство имен основной статьи проверяется по умолчанию.

search, fulltext ?
<inputbox>
type=search
namespaces=Main**,Help
</inputbox>
prefix=
  • Сузить поиск до страниц, начинающихся с определенного префикса. Обратите внимание, что это работает только с определенными поисковыми серверами, в настоящее время только с Расширение:CirrusSearch . По умолчанию строка пустая (поиск по всем страницам).
  • Создать новую страницу, начинающуюся с определенного префикса.
  • В type=move префикс добавляется к параметру по умолчанию.

Примечание: символы подчеркивания не распознаются как пробелы.

search, fulltext, create ?
<inputbox>
type=search
prefix={{FULLPAGENAME}}/Archive
</inputbox>

Кнопка ниже добавляет к имени префикс Special:Mypage/.


placeholder= Текст-заполнитель, который будет отображаться в поле ввода, когда оно пусто. Все типы
1.19
<inputbox>
type=search
placeholder=Искать в этой Вики
</inputbox>
page= Страница для публикации комментариев или страница для перемещения. comment, move
<inputbox>
type=comment
page=Project:Sandbox
</inputbox>

minor= Малое изменение. comment, create
<inputbox>
type=comment
page=Project:Sandbox
minor=true
</inputbox>

nosummary= Редактировать резюме (заголовок) не требуется для нового комментария. comment
<inputbox>
type=commenttitle
page=Special:Mypage/inputbox test
nosummary=true
</inputbox>

summary= Изменить сводку или переместить причину. create, move
<inputbox>
type=create
default=Special:Mypage/inputbox test
summary=Foo
</inputbox>

id= атрибут id для <form>. Все типы
1.23
for some types
<inputbox>
type=comment
page=Project:Sandbox
summary=Foo
id=bar
</inputbox>

inline= Делает InputBox встроенным элементом (без разрыва строки в начале). Любое значение означает yes/true. search2
Текст здесь: <inputbox>
type=search2
inline=true
width=10
</inputbox>
Текст здесь:
 
dir= Справа налево (rtl) или слева направо (ltr). По умолчанию используется направление языка страницы. Все типы
<inputbox>
dir=rtl
type=comment
page=Project:Sandbox
summary=Foo
</inputbox>

preloadparams[]= Укажите параметры для предзагрузки текста. Смотрите Создание страниц с предзагрузкой текста. create, comment, commenttitle
1.25
<inputbox>
type=create
preload=Log
preloadparams[]=param1
preloadparams[]=param2
</inputbox>

searchfilter= Укажите параметры для добавления к поиску search, fulltext
1.30
<inputbox>
type=search
searchfilter=insource:foo
</inputbox>
useve= При создании страницы поле ввода будет использовать новый визуальный редактор, если установлено расширение и для этого параметра установлено значение true. create, comment
<inputbox>
type=create
break=no
useve=true
</inputbox>
usedt= При добавлении нового раздела в поле ввода откроется инструмент инструмент создания новых тем DiscussionTools, если расширение установлено и для этого параметра установлено значение $2. comment, commenttitle
<inputbox>
type=commenttitle
page=Project:Sandbox
usedt=true
</inputbox>

Применение create к существующей странице просто выдаст страницу редактирования. В этом случае preload игнорируется. Применение comment для новой страницы работает.

Тексты, взятые из пространства имён MediaWiki:, конечно, являются только примерами, любая существующая страница может быть использована для editintro или preload. К сожалению, preload еще не работает для сводки Загрузить.


Выравнивание

Если вы хотите создать поле ввода в правой части страницы, сделайте что-то вроде:

<div style="float:right; width:42em">
<inputbox>
type=create
</inputbox>
</div>

Дает:


Функция парсера

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

Чтобы создать много одинаковых полей ввода, InputBox можно использовать в шаблоне. Однако передача параметров шаблона в параметры InputBox работает только в том случае, если тег ‎<inputbox>...‎</inputbox> написан как {{#tag:inputbox | ...}} внутри шаблона.

Следующий пример представляет собой шаблон для создания новой вики-страницы из именованного шаблона:

{{#tag:inputbox |
type=create
buttonlabel=Создать новую {{{1|статью}}}
preload={{{2|Template:Article}}} }}

При создании экземпляра шаблона первый параметр дает элемент, который создается (по умолчанию: article), как указано в кнопке, второй параметр указывает имя шаблона, используемого для создания элемента (по умолчанию: Template:Article).

Например, код для окна ввода для создания нового проекта из шаблона проекта может выглядеть следующим образом:

{{Template:CreateNew|project|Template:Project}}

Смотрите также