Jump to content

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

From mediawiki.org
This page is a translated version of the page Extension:InputBox and the translation is 84% 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.45
Изменения в БД Нет
Лицензия MIT License
Скачать
  • <inputbox>
Переведите расширение 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'. 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>
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= Укажите параметры для добавления к поиску 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

Чтобы создать много одинаковых полей ввода, 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.

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