stringtranslate.com

Wikipedia:Plantillas de envoltura

Las plantillas envolventes son plantillas externas que envuelven plantillas internas más simples, para ampliar en gran medida la funcionalidad básica de las plantillas internas. El concepto es estructurar las plantillas internas subyacentes para que se utilicen como herramientas de utilidad mediante varias plantillas envolventes externas. Las plantillas se pueden envolver en plantillas existentes con Module:Template wrapper .

La experiencia ha demostrado que, cuando las plantillas subyacentes se han reestructurado con un conjunto completo de opciones para usar, se han creado numerosas variaciones de plantillas envolventes para ampliar la funcionalidad de las plantillas con una amplia variedad de características nuevas.

Las plantillas contenedoras pueden ser útiles para la consolidación , ya que permiten que las plantillas se basen unas en otras, mientras que copiar y pegar plantillas puede hacer que sea más difícil mantenerlas.

Un ejemplo sencillo

La función de Template:Exams es colocar un cuadro en la página de usuario indicando que uno está tomando un wikibreak para concentrarse en los exámenes. Ya existe una plantilla más general para wikibreaks, Template:Wikibreak , por lo que en lugar de duplicarla, {{ Exams }} simplemente consiste en una llamada a {{ Wikibreak }} con algunos parámetros especificados, como una imagen de libros en lugar de la imagen predeterminada de una puesta de sol.

Un ejemplo con sustitución

La plantilla: Don't ping inserta un mensaje en una página de discusión que indica que uno está siguiendo la página y no necesita que se le haga ping en las respuestas. Llama a la plantilla: Please ping con el noparámetro especificado. Esto se vuelve un poco más complicado porque se puede sustituir {{ Don't ping }}{{safesubst:<noinclude/>Please ping|no}} . Para solucionar esto, el código real utilizado es .

Envoltorios alrededor de módulos Lua

Muchas plantillas, como {{ if empty }} o {{ infobox }} , son simplemente contenedores simples alrededor de módulos Lua, en este caso Module:If empty y Module:Infobox . Esto es fácil de implementar ya que la frame:getParent().argstabla en Lua, a la que se accede desde el módulo, puede leer directamente los argumentos pasados ​​a la plantilla contenedora. La plantilla puede entonces ser tan simple como {{#invoke:If empty|main}}(aunque hay un poco más de código para hacerla subestable y agregar documentación). Dos de los puntos principales de esto son evitar la necesidad de la sintaxis "{{#invoke:" en los artículos y la compatibilidad con versiones anteriores.

Plantillas

Véase también