Расширение:InputBox
| This code base is maintained by the Reader Experience team. Code review only for UBNs or security fixes. |
Статус релиза: стабильно |
|
|---|---|
| Реализация | Тег, Действие страницы, Поиск |
| Описание | Позволяет пользователям добавлять предопределенные HTML формы на вики-страницы |
| Автор(ы) |
|
| Последняя версия | Continuous updates |
| MediaWiki | >= 1.45 |
| Изменения в БД | Нет |
| Лицензия | MIT License |
| Скачать | |
|
|
| Переведите расширение 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' );
Готово – Перейдите на страницу 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'. Unit: 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>
|
| ||
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>
|
| ||
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.
Используется с параметром " |
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>
|
| ||
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>
|
| ||
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=
|
Поддержка флажков пространства имен в полнотекстовом поиске.
С " |
search, fulltext | <inputbox>
type=search
namespaces=Main**,Help
</inputbox>
|
? | ||
prefix=
|
Примечание: символы подчеркивания не распознаются как пробелы. |
search, fulltext, create |
Кнопка ниже добавляет к имени префикс |
<inputbox>
type=search
prefix={{FULLPAGENAME}}/Archive
</inputbox>
|
? | |
placeholder=
|
Текст-заполнитель, который будет отображаться в поле ввода, когда оно пусто. | Все типы | <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>. | Все типы | <inputbox>
type=comment
page=Project:Sandbox
summary=Foo
id=bar
</inputbox>
|
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>
|
| ||
searchfilter=
|
Укажите параметры для добавления к поиску | search, fulltext | <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 еще не работает для сводки Загрузить.
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.
<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>
#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
Чтобы создать много одинаковых полей ввода, InputBox можно использовать в шаблоне. Однако передача параметров шаблона в параметры InputBox работает только в том случае, если тег $inputbox написан как $inputbox2 внутри шаблона.
Следующий пример представляет собой шаблон для создания новой вики-страницы из именованного шаблона:
{{#tag:inputbox |
type=create
buttonlabel=Создать новую {{{1|статью}}}
preload={{{2|Template:Article}}}
}}
При создании экземпляра шаблона первый параметр дает элемент, который создается (по умолчанию: article), как указано в кнопке, второй параметр указывает имя шаблона, используемого для создания элемента (по умолчанию: Template:Article).
Например, код для окна ввода для создания нового проекта из шаблона проекта может выглядеть следующим образом:
{{Template:CreateNew|project|Template:Project}}
Notes
This extension splits the parser cache based on the user interface language (git:e18b7e6), in order to show localized label texts.
Смотрите также
| Это расширение используется в одном или нескольких проектах Викимедиа. Вероятно, это означает, что расширение стабильно и работает достаточно хорошо, чтобы использоваться такими сайтами с высоким трафиком. Найдите название этого расширения в файлах конфигурации Викимедиа CommonSettings.php и InitialiseSettings.php, чтобы узнать, где оно установлено. Полный список расширений, установленных на конкретной вики, можно увидеть на странице Special:Version wiki. |
| Это расширение включено в следующие вики-фермы/хостинги и/или пакеты: |
- Stable extensions/ru
- Tag extensions/ru
- Page action extensions/ru
- Search extensions/ru
- MIT licensed extensions/ru
- Extensions in Wikimedia version control/ru
- MediaWikiPerformAction extensions/ru
- ParserFirstCallInit extensions/ru
- SpecialPageBeforeExecute extensions/ru
- All extensions/ru
- Extensions bundled with MediaWiki 1.21/ru
- Extensions used on Wikimedia/ru
- Extensions included in BlueSpice/ru
- Extensions included in Canasta/ru
- Extensions available as Debian packages/ru
- Extensions included in Fandom/ru
- Extensions included in Miraheze/ru
- Extensions included in MyWikis/ru
- Extensions included in ProWiki/ru
- Extensions included in semantic::core/ru
- Extensions included in ShoutWiki/ru
- Extensions included in Telepedia/ru
- Extensions included in wiki.gg/ru
- Form extensions/ru
- Page creation extensions/ru
- Search widget extensions/ru
- Edit box extensions/ru
