Extensão:InputBox
| This code base is maintained by the Reader Experience team. Code review only for UBNs or security fixes. |
Estado da versão: estável | |
|---|---|
| Implementação | Marcação, Ações de página, Pesquisa |
| Descrição | Permite adicionar formulários HTML predefinidos em páginas |
| Autor(es) |
|
| Última versão | Continuous updates |
| MediaWiki | >= 1.46 |
| Modifica o banco de dados | Não |
| |
| Licence | Licença MIT |
| Download | |
| Para traduzir a extensão InputBox, verifique sua disponibilidade no translatewiki.net | |
| Problemas | Tarefas em aberto · Relatar um bug |
A extensão InputBox adiciona formulários HTML já criados em páginas. O usuário pode “completar” um formulário (digitando, selecionando itens, etc.) inserindo texto na caixa.
Ela foi criada originalmente por Erik Möller, no propósito de adicionar a caixa Criar um artigo ao Wikinotícias.
Instalação
- Baixe e mova a pasta extraída
InputBoxao seu diretórioextensions/.
Desenvolvedores e colaboradores de código, por outro lado, deverão instalar a extensão a partir do Git, usando:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/InputBox
- Adicione o seguinte código ao final do seu arquivo LocalSettings.php:
wfLoadExtension( 'InputBox' );
Concluído – Navegue à página Special:Version em sua wiki para verificar se a instalação da extensão foi bem sucedida.
Exemplo
Caixa para iniciar um novo artigo.
Código wiki
<inputbox> type = create width = 30px <!-- with unit of measurement --> break = no placeholder = Page title </inputbox>
Resultado
Sintaxe geral
Caixas de inserção são construídas desta maneira:
<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.
O parâmetro type é obrigatório. Todos os outros são opcionais. preloadparams[] pode aparecer mais de uma vez.
Tipos de caixas
O local padrão do(s) botão(ões) “Enviar” é abaixo da caixa de inserção.
O botão “Enviar” pode ser movido para a direita usando o parâmetro de quebra de linha para eliminar a quebra de linha entre a caixa e o botão: break=no.
Para caixas de pesquisa, ter o botão “Enviar” à direita é útil ao passo que as sugestões cobririam o botão na caixa de pesquisa.
| tipo | Exemplo | Descrição |
|---|---|---|
search | Cria uma caixa de pesquisa com um comprimento padrão de 50 caracteres. Informações adicionadas à caixa de texto tornam-se pesquisadas como título exato de página (primeiro botão) ou como texto em artigos (segundo botão). | |
create | Cria uma nova página. Informações adicionadas à caixa de texto tornam-se o nome da página a ser criada (ou editada, caso já exista). | |
comment | Adiciona uma nova seção ao final da página especificada na caixa de texto (cria a página se necessário). | |
commenttitle | Adiciona uma nova seção com o cabeçalho inserido na caixa de texto. O título pode ser especificado com o parâmetro default=; já a página, com o parâmetro page=. For some reason this does NOT work when using the extension by invoking it with {{#tag}}, only when using <inputbox>. (introduzido na rev:47203) | |
fulltext | Pesquisa apenas com o botão para pesquisar em todo o texto, sem o botão de correspondência exata (botão “Ir”). (introduzido na rev:45269) | |
move | Move uma página para um nome diferente. This also doesn't work when creating it by invoking a tag. (introduzido na gerrit:97559) |
Para type=search2, a localização padrão do botão de pesquisa é à direita. Atualmente, não parece ser possível adicionar outros parâmetros a esse tipo de caixa de inserção. Esta caixa de pesquisa procura o inserido por toda a wiki.
| tipo | Exemplo |
|---|---|
search2 |
Parâmetros
| Parâmetro | Descrição | Escopo | Resultado | Exemplo: | Compatibilidade | |
|---|---|---|---|---|---|---|
arialabel= | Supply the aria-label attribute to the InputBox to ensure generated markup is accessible to screen readers. See ARIA: aria-label attribute. | Todos os tipos | <inputbox> type=search arialabel=Search the wiki </inputbox> |
| ||
bgcolor= | Define a cor do plano de fundo (valores de cores HTML). Não use aspas. | Todos os tipos | <inputbox> type=search bgcolor=gray </inputbox> | ? | ||
width= | Define a largura da InputBox em caracteres. | Todos os tipos | <inputbox> type=create width=24 </inputbox> | ? | ||
default= | Texto padrão para inserir o InputBox. | Todos os tipos | <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= | The page under this title will be preloaded (see Manual:Creating pages with preloaded text) into the blank editbox when a new page is created. | create, comment, commenttitle | <inputbox> type=create preload=Log </inputbox> | ? | ||
| Enter the title of a non-existent page in the example InputBox above or below, and click "Criar página" or "Nova seção" respectively to test this effect. | ||||||
editintro= | The page which is given under this parameter will be shown, as instructions, above the editing window. | create, comment | <inputbox> type=comment editintro=MediaWiki:Missingcommenttext </inputbox> | ? | ||
buttonlabel= | This label will be used for the main button of the form. | All types | <inputbox> type=comment buttonlabel=Add new rumor </inputbox> | ? | ||
hidden= | This specifies that there is no InputBox. It is used with parameter | create, comment | <inputbox> type=comment editintro=Extension:InputBox/editintro comment preloadtitle=Comment title preload=Extension:InputBox/preload hidden=yes default=Extension talk:InputBox buttonlabel=Post a comment on the talk page </inputbox> | ? | ||
searchbuttonlabel= | This label will be used for the "Search full text" button of the search form. | search, fulltext | <inputbox> type=search searchbuttonlabel=Dig deeper </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= | Show the full text search button on search2 form | search2 | <inputbox> type=search2 searchbuttonlabel=Dig deeper fulltextbutton=true </inputbox> | ? | ||
labeltext= | Text to display beside the button | search2 | <inputbox> type=search2 searchbuttonlabel=Dig deeper labeltext=Look for: </inputbox> | ? | ||
break= | Whether or not to insert a line break between the input box and the button(s). Defaults to yes (use a line break). | All types | <inputbox> type=create width=24 break=no </inputbox> | ? | ||
namespaces= | Support for namespace checkboxes in fulltext search. With " | search, fulltext | <inputbox> type=search namespaces=Main**,Help </inputbox> | ? | ||
prefix= |
Remark: underscores aren't recognized as spaces. | search, fulltext, create | The button below prefixes the name with | <inputbox> type=search prefix={{FULLPAGENAME}}/Archive </inputbox> | ? | |
placeholder= | Define placeholder text that will display in the input box when it is empty. | All types | <inputbox> type=search placeholder=Search this wiki </inputbox> |
| ||
page= | Page to posts comment to, or page to move. | comment, move | <inputbox> type=comment page=Project:Sandbox </inputbox> | |||
minor= | Minor edit. | comment, create | <inputbox> type=comment page=Project:Sandbox minor=true </inputbox> | |||
nosummary= | Edit summary (headline) not required for new comment. | comment | <inputbox> type=commenttitle page=Special:Mypage/inputbox test nosummary=true </inputbox> | |||
summary= | Edit summary or move reason. | create, move | <inputbox> type=create default=Special:Mypage/inputbox test summary=Foo </inputbox> | |||
id= | ID attribute for <form>. | All types | <inputbox> type=comment page=Project:Sandbox summary=Foo id=bar </inputbox> |
for some types | ||
inline= | Make the InputBox be an inline element (no line break at beginning). Any value means yes/true. | search2 | Text here: | Text here: <inputbox> type=search2 inline=true width=10 </inputbox> | ||
dir= | Right to left (rtl) or left to right (ltr). Defaults to directionality of the page's language. | All types | <inputbox> dir=rtl type=comment page=Project:Sandbox summary=Foo </inputbox> | |||
preloadparams[]= | Specify parameters to the preload text. See Creating pages with preloaded text. | create, comment, commenttitle | <inputbox> type=create preload=Log preloadparams[]=param1 preloadparams[]=param2 </inputbox> |
| ||
searchfilter= | Specify parameters to append to the search. See Ajuda:CirrusSearch for details. | search, fulltext | <inputbox> type=search searchfilter=insource:foo </inputbox> |
| ||
useve= | When creating a page the input box will use the new visual editor, if the extension is installed, and this parameter is set to any value. | create, comment | <inputbox> type=create break=no useve=true </inputbox> | |||
usedt= | When adding a new section, the input box will open the DiscussionTools new topic tool, if the extension is installed, and this parameter is set to any value. | comment, commenttitle | <inputbox> type=commenttitle page=Project:Sandbox usedt=true </inputbox> | |||
Applying create to an existing page simply gives the edit page. In that case preload is ignored. Applying comment for a new page works.
The texts taken from the MediaWiki: namespace are of course only examples, any existing page can be used for editintro or preload. Unfortunately preload does not yet work for the Upload summary.
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; } Alignment
If you want to create an inputbox on the right side of the page, do something like:
<div style="float:right; width:42em"> <inputbox> type=create </inputbox> </div> Gives:
Using InputBox in a template
| Versão do MediaWiki: | ≤ 1.45 Gerrit change 1224857 |
In order to create many similar input boxes, InputBox can be used in a template. However, passing template parameters to InputBox parameters only works if the <inputbox>...</inputbox> tag is used via the #tag parser function with {{#tag:inputbox | ...}} inside the template.
The following example is a template to create a new wiki page from a named template:
{{#tag:inputbox | type=create buttonlabel=Create new {{{1|article}}} preload={{{2|Template:Article}}} }} When instantiating the template, the first parameter gives the item that is created (default: article) as spelled out in the button, the second parameter gives the name of the template used to create the item (default: Template:Article).
E.g., the code for an input box to create a new project from a project template might look like this:
{{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.
See also
| Esta extensão está sendo usada(o) por um ou mais projetos da Wikimedia. Isto significa que, provavelmente, a extensão é estável e funciona bem o suficiente para ser utilizada(o) em sites da web de alto tráfego. Procure pelo nome dessa extensão nos arquivos de configuração CommonSettings.php e InitialiseSettings.php da Wikimedia para verificar onde ela foi instalada. Uma lista completa das extensões instaladas numa wiki em particular podem ser visualizadas na página Special:Version da wiki. |
| Esta extensão está incluída nas seguintes fazendas/hospedagens (farms/hosts) e/ou pacotes wiki: |
- Stable extensions/pt-br
- Tag extensions/pt-br
- Page action extensions/pt-br
- Search extensions/pt-br
- MediaWikiPerformAction extensions/pt-br
- ParserFirstCallInit extensions/pt-br
- SpecialPageBeforeExecute extensions/pt-br
- MIT licensed extensions/pt-br
- Extensions in Wikimedia version control/pt-br
- All extensions/pt-br
- Extensions bundled with MediaWiki 1.21/pt-br
- Extensions used on Wikimedia/pt-br
- Extensions included in BlueSpice/pt-br
- Extensions included in Canasta/pt-br
- Extensions available as Debian packages/pt-br
- Extensions included in Fandom/pt-br
- Extensions included in Miraheze/pt-br
- Extensions included in MyWikis/pt-br
- Extensions included in ProWiki/pt-br
- Extensions included in semantic::core/pt-br
- Extensions included in ShoutWiki/pt-br
- Extensions included in Telepedia/pt-br
- Extensions included in wiki.gg/pt-br
- Form extensions/pt-br
- Page creation extensions/pt-br
- Search widget extensions/pt-br
- Edit box extensions/pt-br
