Jump to content

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

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

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

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

Установка

Это расширение поставляется с MediaWiki 1.21 и выше, так что вам не нужно загружать его. Остальные инструкции по настройке всё равно необходимо соблюдать.
  • Скачайте и распакуйте файл(ы) в папку с названием 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 = 30px <!-- with unit of measurement --> break = no placeholder = Page title </inputbox> 

Результат

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

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

<inputbox> type = <!-- <input> type == search search2 create comment commenttitle fulltext move --> bgcolor = <!-- Background color of parent <form>. --> width = <!-- Width of text field (searchbox) in 'characters'. Default: 50 --> page = <!-- Wiki pagename (i.e. page title) to post comment to, or move page to. No [[X]]. --> default = <!-- Initial value of the text field. --> preloadtitle = <!-- Content to prepopulate the title field with for a new comment --> preload = <!-- Content to prepopulate the source editor with for a new topic/comment, or new page. --> editintro = <!-- Wiki pagename of page to be transcluded as 'help text' shown above source editor window. --> hidden = <!-- Any value will hide the text field, but not buttons whose links will still work. --> searchbuttonlabel = <!-- Visual label for "Search full text" in type == search == fulltext. --> searchengine = <!-- Either 'MediaSearch' or 'Search'. Defaults to the wiki's value for the search-special-page preference. --> searchtype = <!-- If 'MediaSearch' is selected for searchengine, the result type. One of 'image' (default), 'video', 'audio', 'page', or 'other'. --> fulltextbutton = <!-- Visual label for "Search full text" --> labeltext = <!-- labeltext --> break = <!-- break --> namespaces = <!-- namespaces --> prefix = <!-- prefix --> placeholder = <!-- placeholder --> minor = <!-- minor --> nosummary = <!-- nosummary --> summary = <!-- summary --> id = <!-- id --> inline = <!-- inline --> dir = <!-- dir --> preloadparams[] = <!-- preloadparams[] --> searchfilter = <!-- searchfilter --> useve = <!-- useve --> usedt = <!-- usedt --> arialabel = <!-- arialabel --> buttonlabel = <!-- Visual label for primary search button. --> </inputbox> 

Buttons are not exposed to assistive technology: currently the button elements generated by this template have no accessible label. Screen readers therefore announce only the element role (for example, "Button.") rather than a meaningful label. There is no reliable way to add an accessible label without access to the HTML code.

Параметр 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 в поле ввода, чтобы сгенерированная разметка была доступна программам чтения с экрана. See ARIA: aria-label attribute. Все типы
<inputbox> type=search arialabel=Search the wiki </inputbox> 
1.35
Gerrit change 572050
bgcolor= Устанавливает цвет фона таблицы (значения цвета HTML). Не используйте кавычки Все типы
<inputbox> type=search bgcolor=gray </inputbox> 
?
width= Устанавливает ширину InputBox в символах. Все типы
<inputbox> type=create width=24 </inputbox> 
?
default= Текст по умолчанию для ввода в InputBox. Все типы
<inputbox> type=comment default=User talk:Eloquence </inputbox> 
?
preloadtitle= Default text to add as the title for a new comment. comment
<inputbox> type=comment preloadtitle=My comment title default=Extension talk:InputBox </inputbox> 
1.45
Gerrit change 1191433
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 preloadtitle=Comment title preload=Extension:InputBox/preload hidden=yes default=Extension talk:InputBox buttonlabel=Оставить комментарий на странице обсуждения </inputbox> 
?
searchbuttonlabel= Эта метка будет использоваться для кнопки «Полнотекстовый поиск» формы поиска. search, fulltext
<inputbox> type=search searchbuttonlabel=Копать глубже </inputbox> 
?
searchengine= If Extension:MediaSearch is installed, this parameter sets the search special page to either Search or MediaSearch. If this parameter is not used, the user's (or wiki's default) preference will be used. search, search2
<inputbox> type=search searchengine=MediaSearch </inputbox> 
1.45
Gerrit change 1167841
searchtype= If searchengine=MediaSearch, this parameter configures which results' tab to display. One of the following: image, video, audio, page, other search, search2
<inputbox> type=search searchengine=MediaSearch searchtype=audio </inputbox> 
1.46
Gerrit change 1174925
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

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

<inputbox> type=search prefix={{FULLPAGENAME}}/Archive </inputbox> 
?
placeholder= Текст-заполнитель, который будет отображаться в поле ввода, когда оно пусто. Все типы
<inputbox> type=search placeholder=Искать в этой Вики </inputbox> 
1.19
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>. Все типы
<inputbox> type=comment page=Project:Sandbox summary=Foo id=bar </inputbox> 
1.23

for some types
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
<inputbox> type=create preload=Log preloadparams[]=param1 preloadparams[]=param2 </inputbox> 
1.25
searchfilter= Укажите параметры для добавления к поиску See Помощь:CirrusSearch for details. search, fulltext
<inputbox> type=search searchfilter=insource:foo </inputbox> 
1.30
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 еще не работает для сводки Загрузить.

Customizing with CSS

You can customize the inputbox in templates using CSS. First, wrap the inputbox in ‎<div> tags with an unique ID then use CSS selectors to change its appearance. You could also give the inputbox itself an ID and use the ID in the CSS selectors. You could also add a custom search button or icon.


Template:Exampleinputbox
<templatestyles src="Template:Example/styles.css"/><div id = "inputbox-search-wrapper"> {{#tag: inputbox| type = search id = inputbox-search placeholder = Search all pages namespaces = Main**,Help** }}<div class = "inputbox-search-icon"></div> </div> 
Exampleinputbox/styles.css
#inputbox-search-wrapper { box-sizing: border-box;  height: 32px;  display: flex;  border: 1px solid var(--border-color-base, #a2a9b1);  border-radius: 10px; } #inputbox-search-wrapper input { all: unset;  padding-left: 8px;  padding-top: 6px;  padding-bottom: 6px;  width: 180px !important; font-family: 'Helvetica Neue', 'Helvetica', 'Liberation Sans', 'Arial', sans-serif;;  font-size: 14px;  line-height: 20px;  color: var(--color-base--subtle, #72777d); } #inputbox-search-wrapper input::placeholder { font-family: 'Helvetica Neue', 'Helvetica', 'Liberation Sans', 'Arial', sans-serif;;  font-size: 14px;  line-height: 20px;  color: var(--color-base--subtle, #72777d); } #inputbox-search-wrapper input.mw-ui-button, .searchbox .cdx-checkbox--inline, #inputbox-search-wrapper .cdx-button, #inputbox-search-wrapper div.mw-ui-checkbox { display: none; } .inputbox-search-icon {  padding-left: 8px;  width: 25px;  background-image: url("https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Vector_search_icon.svg/18px-Vector_search_icon.svg.png");  background-repeat: no-repeat;  background-position: center;  cursor: pointer; } 

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

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

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

Дает:

Using InputBox in a template

Версия MediaWiki:
1.45
Gerrit change 1224857

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

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

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

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

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

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

As of version 1.46 template parameters work as expected with the ‎<inputbox>...‎</inputbox> syntax and it is no longer necessary to use the {{#tag:}} workaround.

Notes

This extension splits the parser cache based on the user interface language (git:e18b7e6), in order to show localized label texts.

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