Esta es la metaplantilla {{ When pagename is }} . Ayuda a otras plantillas a detectar en qué página se encuentran, mediante la búsqueda de patrones en el nombre de la página.
Esta plantilla acepta uno o más parámetros. La mayoría de los parámetros no tienen nombres fijos, sino que forman parte de la búsqueda de patrones. Así:
{{ Cuando pagename es | /doc = Texto de la página Doc | other = Texto de otras páginas }}
Si la plantilla está en "Plantilla:Ejemplo/doc", el código anterior devolverá esto:
Si la plantilla está en cualquier otra página que no sea /doc, devolverá esto:
A continuación se muestra una descripción del patrón completo:
{{ Cuando el nombre de la página es <!-- Coincidir con el nombre de la página completo --> | Usuario:Ejemplo/prueba = Texto para "Usuario:Ejemplo/prueba". | Usuario:Ejemplo = Texto para "Usuario:Ejemplo". | Usuario discusión:Ejemplo = Texto para "Usuario discusión:Ejemplo".<!-- Coincide con el nombre completo de la página base, cuando se trata de una página base o sus subpáginas --> | Usuario:Ejemplo/+ = Coincide con "Usuario:Ejemplo" y "Usuario:Ejemplo/prueba".<!-- Coincidencia en el nombre de la página, cuando se trata de una página base --> | Ejemplo = Coincide con "Usuario:Ejemplo", "Usuario discusión:Ejemplo", "Plantilla:Ejemplo" y así sucesivamente, pero no "Usuario:Ejemplo/algo".<!-- Coincide con el nombre completo de la página base, cuando está en una subpágina --> | Usuario:Ejemplo/* = Coincide con "Usuario:Ejemplo/algo", pero no con "Usuario:Ejemplo". | Usuario discusión:Ejemplo/* = Coincide con "Usuario discusión:Ejemplo/algo".<!-- Coincidencia con el nombre de la página base, cuando se trata de una subpágina --> | Ejemplo/* = Coincide con "Usuario:Ejemplo/algo" y "Usuario discusión:Ejemplo/algo".<!-- Coincidencia en el nombre de la subpágina --> |/algo = Cualquier nombre de página que termine en "/algo". |/doc = Cualquier nombre de página que termine en "/doc".<!-- Coincidencia con nombre de subpágina parcial (sin distinguir entre mayúsculas y minúsculas) --> | /some* = Cualquier nombre de subpágina que comience con "/some" o "/Some". | /arch* = Coincide con "Usuario discusión:Ejemplo/Archivo 1".<!-- Valores predeterminados --> | basepage = Texto para cualquier página base. |subpage=Texto para cualquier subpágina. | otro = Texto para cualquier página.}}
La coincidencia se realiza de arriba hacia abajo y devuelve el primer parámetro que coincide. " De arriba hacia abajo " significa el orden que se muestra arriba, no el orden en el que ingresa los parámetros.
No hay límite en la cantidad de parámetros que puedes usar, más allá de lo que los servidores y el sistema MediaWiki pueden manejar.
La mayoría de las coincidencias distinguen entre mayúsculas y minúsculas. Por ejemplo, " /test
" coincide con "User:Example/test" pero no con "User:Example/Test".
La coincidencia de nombres de subpáginas parciales como " /some*
" tiene algunas limitaciones, consulte su propia sección a continuación.
Si coincide un parámetro vacío (pero definido), la coincidencia se detiene y la plantilla devuelve una cadena vacía. Esto es intencional y se puede usar de la siguiente manera:
{{ Cuando pagename es | /doc = | /sandbox = Texto de Sandbox | other = Texto de otras páginas }}
El código anterior no mostrará nada cuando se encuentre en una página /doc. Pero cuando se encuentre en una página /sandbox, devolverá lo siguiente:
Y cuando esté en cualquier otra página devolverá esto:
Esta plantilla también puede coincidir con nombres de subpáginas parciales. De esta manera:
{{ Cuando pagename es | /archiv* = Texto de la página de archivo | other = Texto de otras páginas }}
Si está en "Usuario: Ejemplo/Archivo 1" el código anterior devolverá esto:
El nombre del parámetro " /some*
" debe estar en minúsculas, pero coincide con los nombres de subpáginas tanto en mayúsculas como en minúsculas, como "Usuario:Ejemplo/Algo" y "Usuario:Ejemplo/algo".
La coincidencia parcial solo admite coincidencias de 4, 6 y 8 caracteres. Por lo tanto, el uso de " /some*
", " /someth*
" y " /somethin*
" funciona, pero el uso de " /som*
" o " /somet*
" no funciona.
Los patrones más largos coinciden primero, por lo tanto, si se definen " /somethin*
" y " ", y la página actual es "Usuario:Ejemplo/Algo", se utilizarán los datos de " "./some*
/somethin*
Para fines de prueba y demostración, esta plantilla puede tomar un parámetro llamado página . De esta manera:
{{ Cuando pagename es | /test = Texto de páginas de prueba | other = Texto de otras páginas | page = Plantilla:Example/test }}
No importa en qué tipo de página se use el código anterior, devolverá esto:
El parámetro de página hace que esta plantilla se comporte exactamente como si estuviera en esa página. El nombre de la página no tiene que ser una página existente.
Si el parámetro de página está vacío o no está definido, el nombre de la página actual determina el resultado.
Puede hacer que su plantilla también comprenda el parámetro de página . Esto significa que puede demostrar las diferentes apariencias de su plantilla en la documentación correspondiente. A continuación, haga lo siguiente:
{{ Cuando pagename es | /test = Texto de páginas de prueba | other = Texto de otras páginas | page = {{{ page |}}} }}
Esta plantilla no tiene coincidencia de espacio de nombres. Si la necesita, combine esta plantilla con una de las plantillas de detección de espacio de nombres, como {{ When on template page }} . De esta manera:
{{ Cuando está en una página de plantilla | {{ Cuando pagename es | /doc = Texto de la página del documento de plantilla. }} | <!--(acción si no está en una página de plantilla:)--> }}
Si está en "Usuario:Ejemplo/doc", el código anterior no devolverá nada. Pero si está en "Plantilla:Ejemplo/doc", devolverá esto:
Esta plantilla detecta subpáginas incluso cuando se utiliza en espacios de nombres que no tienen habilitada la función de subpágina de MediaWiki. Por lo tanto, esta plantilla funciona de la misma manera en todos los espacios de nombres.
Para obtener más detalles técnicos, consulte la página de discusión .