Limitare la inclusione di categorie quando si utilizzano categorie generate dinamicamente in MediaWiki

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

  •  03-07-2019
  •  | 
  •  

Domanda

All'inizio non ero sicuro se una domanda su come fare qualcosa di avanzato in MediaWiki appartenesse qui, ma dopo aver letto la domanda e rifletterci, ho deciso che il markup della wiki è tanto il suo linguaggio quanto HTML e CSS, e se queste domande sono benvenute qui, allora spero anche questo! Se sbaglio sentiti libero di contrassegnare questa domanda. Aggiornamento: Bene, come evidenziato dalle 3 visualizzazioni ottenute da questa domanda, suppongo che mentre forse rientra nelle regole di StackOverflow, potrebbe non esserci molta esperienza in materia! Suppongo che dovrò portare questa domanda ai forum ufficiali (brivido)


Il problema

Su una wiki che sto configurando su MediaWiki, ho un modello che genera tra l'altro categorie create dinamicamente. Ciò significa che la pagina che invoca il modello verrà classificata in base ad alcune delle variabili passate al modello. Le categorie generate dinamicamente sono all'interno di <includeonly> blocchi per impedire che la stessa pagina modello ottenga le categorie.

Il problema è che poi escludo quella su altre pagine, il che fa sì che anche le categorie vengano escluse, e ora quella terza pagina ha tutte le categorie di tutte le pagine transclusa.

Voglio in qualche modo formattare il modello in modo tale che la pagina che invoca il modello utilizzerà le categorie, ma tutte le pagine che escludono la pagina che invoca non erediteranno le categorie.

Esempio

Ecco il mio colpo migliore in un esempio di installazione. Se questo è inadeguato, posso fornire link al mio esempio nel mondo reale.

Template:Food
Una pagina che accetta un paio di variabili e genera un blocco altamente formattato che spiega il cibo, incluso l'output di una categoria basata sul " type " variabile.

Banana
Questa pagina richiama il type modello con alcune variabili, tra cui "fruit" impostato su Category:Fruit. Il risultato è quando l'utente visualizza il & Quot; Banana Nut Bread Recipe & Quot; pagina ottengono una pagina ben formattata con alcune informazioni di base sulla frutta. Inoltre, se l'utente accede alla pagina {{:Banana}}, vedrà elencata la pagina Banana.

Fruit
Questa è la pagina del problema. In questa pagina di ricette, l'autore vuole escludere tutte le pagine per gli ingredienti in modo che ogni ingrediente sia elencato nel suo blocco ben formattato. Tuttavia, quando esclude la <=> pagina utilizzando <=>, la categoria <=> viene esclusa insieme ad essa e ora la <=> pagina viene elencata come nella categoria <=> che è errata.

È stato utile?

Soluzione

Se ho capito bene, vuoi limitare le informazioni includeonly (la categoria) alla sola inclusione della profondità 1. Non penso sia possibile.

Possibili soluzioni:

1- Non inserire le informazioni sulla categoria in Template:Food. Inseriscilo direttamente in ogni pagina degli ingredienti o, se necessario, crea un Template:Food_category o simile. Quindi ogni pagina potrebbe avere un numero qualsiasi di {{Food}} se {{food category}} dovrebbe essere esplicitamente messo.

Altri suggerimenti

L'estensione di inclusione della sezione con etichetta ti consente di etichettare parti di un articolo di origine con etichette e di eseguire la trasclusione in base a tali tag. I tag possono sovrapporsi, in modo da avere un controllo molto granulare su ciò che viene passato.

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

Penso che con la Transclusion Section etichettata, potresti trascrivere sia la descrizione Type: fruit che la descrizione Banana in dichiarazioni di inclusione separate nella pagina Banana, ma trascina solo la descrizione nella pagina Ricetta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top