stringtranslate.com

Ayuda:Tablas condicionales

Las funciones de análisis permiten la visualización condicional de filas, columnas o celdas de una tabla (y, en realidad, de casi cualquier otra cosa). Sin embargo, las funciones de análisis tienen algunas limitaciones.

Uso básico

El siguiente ejemplo muestra un uso básico #ifdisponible en la extensión ParserFunctions:

 {{ #if :{{{ variable_foo |}}}  | foo se establece en ''' {{{ variable_foo }}} '''  | foo está ''en blanco'' }}

Aquí {{{variable_foo}}}se comprueba si está definido con un valor que no esté en blanco. La siguiente tabla muestra el resultado de una llamada de plantilla (llamaremos plantilla ) con diferentes valores para :{{Conditional tables/example 1}}{{{variable_foo}}}

Los parámetros posicionales, {{{1}}}etc., funcionan como parámetros con nombre:

 {{ #if :{{{ 1 |}}}  | El primer parámetro es ''' {{{ 1 }}} '''  | El primer parámetro está ''en blanco'' }}

Tenga en cuenta cómo funciona el símbolo de tubería (barra vertical) en el enlace tal como está, no es tan fácil dentro de las tablas Wiki, vea a continuación.

Ocultar filas por completo

También es posible ocultar filas de datos dentro de una tabla, sin embargo, hay cuestiones que debes tener en cuenta.

Uso incorrecto

Lamentablemente #if, la sintaxis de tabla de MediaWiki no funciona bien en conjunto. Por ejemplo, lo siguiente, {{ Tablas condicionales/ejemplo 2 }} no es válido y no funcionará:

{| clase = "wikitable" {{ #if :{{{ variable_foo |}}} | | - ! tonto|  {{{ variable_foo }}} } } |- ! Barra |  {{{ variable_bar }}} |}

La siguiente tabla demuestra el efecto cuando se utiliza {{ Tablas condicionales/ejemplo 2 }} :

El problema está en el uso del carácter de barra vertical ( |). Este carácter, en las llamadas de plantilla, se utiliza para separar parámetros y, por lo tanto, no es válido.

Uso correcto

Plan A

Un método para ocultar filas en tablas (u otras estructuras dentro de tablas) utiliza HTML directamente. [1] HTML es más complicado que la sintaxis de tabla de MediaWiki, pero no mucho más. En general, solo hay un puñado de etiquetas HTML que debes conocer

Partiendo del ejemplo de plantilla no válida anterior, al cambiar a HTML obtenemos el siguiente código:

{| clase = "wikitable" {{ #if :{{{ variable_foo |}}} |< tr >< th > Foo </ th >< td >{{{ variable_foo }}}</ td ></ tr >}} |- ! Bar | {{{ variable_bar }}} |}  

El código anterior se encuentra en {{ Tablas condicionales/ejemplo 2a }} . Como antes, la tabla siguiente demuestra el efecto cuando se utiliza:

Plan B

Como se indicó anteriormente, el único problema es la barra vertical o el símbolo de barra vertical dentro de una plantilla. A menudo, es suficiente reemplazar caracteres problemáticos por referencias numéricas, por ejemplo, "{" por &#123;, "|" por &#124;y "}" por &#125;. Pero para las tablas Wiki se requiere un delimitador "|" real; el uso &#124;no funciona como delimitador.

Un truco sencillo permite proteger el "|" en los valores de los parámetros de plantilla y, al mismo tiempo, llegar como delimitador "|" real en la tabla Wiki. Vea la palabra mágica {{!}}. Tenga en cuenta que "!" (signo de exclamación) no tiene problemas con las plantillas, es el otro delimitador que se utiliza en las tablas Wiki. Aquí está el código para el plan B:

{| clase = "wikitable" {{ #if :{{{ foo |}}}| {{ ! }} - ! tonto{{ ! }}  {{{ foo }}} }} |- ! Barra |  {{{ barra }}} |}

El código anterior se encuentra en {{ Tablas condicionales/ejemplo 2b }} . Como antes, la tabla siguiente demuestra el efecto cuando se utiliza:

Plan C

Quizás la opción más sencilla es utilizar el condicional con la propiedad CSS "display: none" de la siguiente manera:

{| clase = "wikitable" |- {{ #if : {{{ variable_foo |}}} | | estilo = "mostrar: ninguno;" }} ! Foo | {{{ variable_foo }}} |- ! Bar | {{{ variable_bar }}} |}       

De esta manera, no es necesario que el carácter de barra vertical de wikitables aparezca en la condición #if. Sin embargo, las fuentes y notas a las que se hace referencia en las celdas silenciadas no se suprimirán junto con el resto del contenido, de modo que seguirán apareciendo al final de un artículo sin que aparezca ninguna referencia a ellas en el texto del artículo. Además, este método solo funciona con navegadores que admitan CSS.

El código anterior se encuentra en {{ Tablas condicionales/ejemplo 2c }} . Como antes, la tabla a continuación demuestra el efecto cuando se utiliza:

Obtener ayuda

Si no puede lograr que una plantilla se comporte como desea, puede intentar preguntar en Village Pump , realizar una solicitud en Plantillas solicitadas o comunicarse con un editor a través de IRC .

Véase también

Para evitar filas en blanco en el caso de filas opcionales sucesivas, consulte m:Help:Table#Fila de tabla condicional.

Para obtener más información sobre #if(y otras # funciones), consulte:

Los siguientes temas de ayuda tratan sobre plantillas:

Este tema de ayuda trata sobre el diseño de tablas (dado que la mayoría de las plantillas utilizan tablas, esto puede resultar útil):

Y por último:

Notas y referencias

  1. ^ El uso de código de tabla HTML en plantillas puede hacer que no sean portables a otros wikis de MediaWiki . Esto se debe a que Wikipedia y otros wikis de la Fundación Wikimedia procesan el wikitexto a través de HTML Tidy ; la mayoría de los otros wikis no tienen la misma configuración y las etiquetas de tabla HTML no se representan. Véase Wikipedia:WikiProject Transwiki#Plantillas especiales .