Limite la transclusión de categoría al usar categorías generadas dinámicamente en MediaWiki

StackOverflow https://stackoverflow.com/questions/612419

  •  03-07-2019
  •  | 
  •  

Pregunta

Al principio no estaba seguro de si una pregunta sobre cómo hacer algo avanzado en MediaWiki pertenecía aquí, pero al leer las preguntas frecuentes y pensar en ello, decidí que el marcado wiki es tanto su propio lenguaje como HTML y CSS, y si esas preguntas son bienvenidas aquí, ¡espero que esto también lo sea! Si me equivoco, no dude en marcar esta pregunta. Actualización: Bueno, como lo demuestran los 3 puntos de vista que obtuvo esta pregunta, supongo que aunque tal vez esté dentro de las reglas de Stackoverflow, ¡puede que no haya mucha experiencia en el tema! Supongo que tendré que llevar esta pregunta a los foros oficiales (estremecimiento)


El problema

En un wiki que estoy configurando alimentado mi MediaWiki, tengo una plantilla que genera, entre otras cosas, categorías creadas dinámicamente. Esto significa que la página que invoca la plantilla se clasificará en función de algunas de las variables pasadas a la plantilla. Las categorías generadas dinámicamente están dentro de <includeonly> bloques para evitar que la página de plantilla obtenga las categorías.

El problema es que luego transcluyo esa página en otras páginas, lo que hace que las categorías también se transcluyan, y ahora esa tercera página tiene todas las categorías de todas las páginas. transcluido.

Quiero formatear la plantilla de alguna manera para que la página que invoca la plantilla haga uso de las categorías, pero las páginas que transcluyan la página que invoca no heredarán las categorías.

Ejemplo

Aquí está mi mejor oportunidad en un ejemplo de la configuración. Si esto es inadecuado, puedo proporcionar enlaces a mi ejemplo del mundo real.

Template:Food
Una página que toma un par de variables y genera un bloque altamente formateado que explica el alimento, incluida la salida de una categoría basada en " escriba " variable.

Banana
Esta página invoca la plantilla type con algunas variables, incluida "fruit" establecida en Category:Fruit. El resultado es cuando el usuario ve & Quot; Banana Nut Bread Recipe & Quot; página obtienen una página bien formateada con información básica sobre la fruta. Además, si el usuario va a la página {{:Banana}}, verá la página Banana en la lista.

Fruit
Esta es la página del problema. En esta página de recetas, el autor quiere incluir todas las páginas de ingredientes para que cada ingrediente aparezca en su bloque bien formateado. Sin embargo, cuando transcluye la página <=> usando <=>, la categoría <=> se transcluye junto con ella y ahora la página <=> aparece en la categoría <=> que es incorrecta.

¿Fue útil?

Solución

Si entiendo correctamente, desea limitar la información de solo inclusión (la categoría) a solo 1 transclusión de profundidad. No creo que sea posible.

Posibles soluciones:

1- No ponga información de categoría en Template:Food. Simplemente colóquelo directamente en cada página de ingredientes o, si realmente debe hacerlo, cree un Template:Food_category o similar. Luego, cada página podría tener cualquier número de {{Food}} sy las {{food category}} s tendrían que ponerse explícitamente.

Otros consejos

La extensión de Transclusión de Sección Etiquetada le permite etiquetar partes de un artículo fuente con etiquetas, y transcluir según esas etiquetas. Las etiquetas pueden superponerse, por lo que tiene un control muy granular sobre lo que se extrae.

https://www.mediawiki.org/wiki/Extension:La Label_Section_Transclusion

Creo que con la Transclusión de sección etiquetada, podría incluir tanto la descripción de Tipo: fruta como la de Plátano en declaraciones de transclusión separadas en la página de Plátano, pero solo arrastrar la descripción a la página de Receta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top