Jump to content

Extensión:InputBox

From mediawiki.org
This page is a translated version of the page Extension:InputBox and the translation is 27% complete.
Outdated translations are marked like this.
Manual de extensiones de MediaWiki
InputBox
Estado de la versión: estable
Implementación Etiqueta , Acción de página , Buscar
Descripción Permite a los usuarios añadir formularios HTML predefinidos a las páginas wiki.
Autor(es)
  • Erik Möller
  • Leonardo Pimenta
  • Rob Church
  • Trevor Parscal
  • Daniel Schuba
Última versión Continuous updates
MediaWiki >= 1.45
Cambios en la base de datos No
Licencia Licencia MIT
Descargar
  • <inputbox>
Traduce la extensión InputBox si está disponible en translatewiki.net
Incidentes Tareas abiertas · Reportar un error

La extensión InputBox añade formularios web ya creados a páginas web. Los usuarios pueden "llenar" un formulario (introducir texto, seleccionar elementos del menú, etc.) introduciendo texto en el cuadro.

InputBox fue originalmente creada por Erik Möller para añadir un cuadro Crear un artículo a Wikinews.

Instalación

Esta extensión viene con MediaWiki 1.21 y versiones posteriores, así que no necesitas descargarla. Las instrucciones de configuración restantes aún deben seguirse.
  • Descarga y mueve la carpeta InputBox extraída a tu directorio extensions/.
    Los desarrolladores y contribuidores de código deberían instalar la extensión desde Git en su lugar, usando:
    cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/InputBox 
  • Añade el siguiente código en la parte final de tu archivo LocalSettings.php :
    wfLoadExtension( 'InputBox' ); 
  • Yes Hecho – Navega a Special:Version en el wiki para verificar que la extensión se haya instalado correctamente.

Ejemplo

Cuadro para empezar un nuevo artículo.

Código wiki

<inputbox> type = create width = 30px <!-- with unit of measurement --> break = no placeholder = Page title </inputbox> 

Resultado

Sintaxis general

Los cuadros de entrada se construyen así:

<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.

El parámetro type es obligatorio. Todos los demás parámetros son opcionales. preloadparams[] pueden apaeecer más de una vez.


Tipos de cuadros

La ubicación predeterminada del botón/botones "Enviar" es debajo del cuadro de entrada.

El botón "Enviar" se puede mover a la derecha usando el parámetro de salto de línea para eliminar el salto de la línea entre la caja y el botón: break=no.

Tener el botón "$sender" a la derecha es útil para los cuadro de búsqueda cuando las sugerencias de búsqueda ocultarían un botón de búsquedo debajo del cuadro.

tipo Ejemplo Descripción
search
Crea un cuadro de búsqueda que tiene un ancho predeterminado de 50 caracteres. La información añadida en el cuadro de texto busca el título exacto de la página (primer botón) o en el texto de los artículos (segundo botón).
create
Crea una nueva página. La información añadida en el cuadro de texto es el nombre de la página a crear (o página a editar si ya existe).
comment
Añade una nueva sección en la parte inferior de la página especificada en el cuadro de texto (creará la página si es nueva).
commenttitle
Añade una nueva sección con el encabezado de la sección escrito en el cuadro de texto. El título se puede especificar con el parámetro default=. La página debe especificarse con el parámetro page=. For some reason this does NOT work when using the extension by invoking it with {{#tag}}, only when using ‎<inputbox>. (introducido en rev:47203)
fulltext
Busca solo con el botón de búsqueda de texto completo, sin el botón de coincidencia exacta (botón "Ir"). (introducido en rev:45269)
move
Translada la página a un nombre diferente. This also doesn't work when creating it by invoking a tag. (introducido en gerrit:97559)

For type=search2, the default location for the search button is inline to the right. Currently, it does not seem to be possible to add other parameters to this type of input box. This search box searches the entire wiki that it is placed on.

Tipo Ejemplo
search2

Parámetros

Parámetro Descripción Scope Result Ejemplo Compatibility
arialabel= Supply the aria-label attribute to the InputBox to ensure generated markup is accessible to screen readers. See ARIA: aria-label attribute. All types
<inputbox> type=search arialabel=Search the wiki </inputbox> 
1.35
Gerrit change 572050
bgcolor= Sets the table background color (HTML color values). Do not use quotes. All types
<inputbox> type=search bgcolor=gray </inputbox> 
?
width= Sets the width of the InputBox in characters. All types
<inputbox> type=create width=24 </inputbox> 
?
default= Default text to put in the InputBox. All types
<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= The page under this title will be preloaded (see Manual:Creando páginas con texto precargado ) 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 "Crear página" or "Sección nueva" 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 default, now not being a default, but the fixed value of the name of the page. Any value means 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=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> 
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= 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 "Main**", main article namespace is checked by default.

search, fulltext
<inputbox> type=search namespaces=Main**,Help </inputbox> 
?
prefix=
  • Narrow down search to pages beginning with certain prefix.
Note this only works with certain search back-ends, currently only Extension:CirrusSearch . Defaults to empty string (search all pages).
  • Create new page beginning with a certain prefix.
  • In type=move, the prefix is prepended to the default parameter.

Remark: underscores aren't recognized as spaces.

search, fulltext, create

The button below prefixes the name with Special:Mypage/.

<inputbox> type=search prefix={{FULLPAGENAME}}/Archive </inputbox> 
?
placeholder= Define placeholder text that will display in the input box when it is empty. Formatos de archivo
<inputbox> type=search placeholder=Search this wiki </inputbox> 
1.19
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> 
1.23

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> 
1.25
searchfilter= Specify parameters to append to the search search, fulltext
<inputbox> type=search searchfilter=insource:foo </inputbox> 
1.30
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.


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; } 

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

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}} 

Notes

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

Ve también