Limiter la transclusion de catégories lors de l'utilisation de catégories générées dynamiquement dans MediaWiki

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

  •  03-07-2019
  •  | 
  •  

Question

Au début, je ne savais pas si une question sur la manière de faire quelque chose de avancé dans MediaWiki appartenait ici, mais après avoir lu la FAQ et réfléchi, j’ai décidé que le balisage de wiki est autant son propre langage que HTML et CSS, et si ces questions sont les bienvenues ici, alors espérons que cela l’est aussi! Si je me trompe, n'hésitez pas à signaler cette question. Mise à jour: Comme le prouvent les 3 points de vue exprimés par cette question, je suppose que même si cela relève peut-être des règles de Stackoverflow, il se peut que l’expertise ne soit pas très importante! Je suppose que je devrai prendre cette question sur les forums officiels (frisson)

Le problème

Sur un wiki que je suis en train de configurer alimenté mon MediaWiki, j'ai un modèle qui affiche entre autres choses des catégories créées dynamiquement. Cela signifie que la page qui appelle le modèle sera catégorisée en fonction de certaines variables transmises au modèle. Les catégories générées dynamiquement sont contenues dans des <includeonly> blocs pour empêcher la page de modèle d’obtenir les catégories.

Le problème est que je transclude ensuite cette page sur d'autres pages, ce qui entraîne également la transclusion des catégories. Cette troisième page contient désormais toutes les catégories de toutes les pages. transclus.

Je souhaite formater le modèle d'une manière ou d'une autre, de manière à ce que la page qui l'invoque utilise les catégories, mais aucune page transclude la page appelante n'hérite des catégories.

Exemple

Voici mon meilleur coup pour illustrer un exemple de configuration. Si cela est insuffisant, je peux fournir des liens vers mon exemple réel.

Template:Food
Une page qui prend quelques variables et produit un bloc hautement formaté expliquant l'aliment, y compris la sortie d'une catégorie basée sur le & "; type &"; variable.

Banana
Cette page appelle le modèle type avec quelques variables, notamment "fruit" définie sur Category:Fruit. Le résultat est lorsque l'utilisateur visualise le & Quot; Banana Nut Bread Recipe & Quot; page, ils obtiennent une page bien formatée avec quelques informations de base sur le fruit. De plus, si l'utilisateur accède à la page {{:Banana}}, il verra apparaître la page Banane dans la liste.

Fruit
C'est la page du problème. Sur cette page de recette, l'auteur souhaite inclure toutes les pages d'ingrédients afin que chaque ingrédient soit répertorié dans son bloc bien formaté. Toutefois, lorsqu'il transclude la page <=> à l'aide de <=>, la catégorie <=> est également incluse et la page <=> est désormais répertoriée dans la catégorie <=> qui est incorrecte.

Était-ce utile?

La solution

Si je comprends bien, vous souhaitez limiter les informations d'inclusion uniquement (la catégorie) à la profondeur 1 uniquement. Je ne pense pas que ce soit possible.

Solutions possibles:

1- Ne mettez pas les informations de catégorie dans le Template:Food. Il suffit de le mettre directement dans chaque page d'ingrédient ou, si vous en avez vraiment besoin, créez un Template:Food_category ou similaire. Ensuite, chaque page peut avoir un nombre quelconque de {{Food}} s et les {{food category}} s doivent être explicitement mis.

Autres conseils

L'extension Labeled Section Transclusion vous permet de marquer des parties d'un article source avec des étiquettes et de les inclure sur ces balises. Les balises peuvent se chevaucher, de sorte que vous avez un contrôle très granulaire sur ce qui est aspiré.

https://www.mediawiki.org/wiki/Extension:Labeled_Section_Transclusion

Je pense qu'avec la transclusion de la section étiquetée, vous pouvez transclude la description du type: fruit et de la description de la banane dans des déclarations de transclusion séparées sur la page Banane, mais ne faites que tirer la description jusqu'à la page de recette.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top