categoria limite de inclusão ao usar categorias gerados dinamicamente em MediaWiki
Pergunta
No começo eu estava não tenho certeza se uma pergunta sobre como fazer algo avançado no MediaWiki pertencia aqui, mas ao ler o FAQ e pensar sobre isso, eu decidi que wiki markup é tanto a sua própria linguagem como HTML e CSS, e se essas questões são bem-vindos aqui, então espero que isso é muito! Se eu estiver errado sensação livre para marcar isto questão. Atualização: Bem como evidenciado pelos 3 pontos de vista esta questão tem, eu suponho que, embora talvez seja dentro das regras do Stackoverflow, pode não haver muito conhecimento sobre o assunto! Suponho que terá de tomar essa questão para os fóruns oficiais (tremor)
O problema
Em um wiki Estou configurando alimentado minha MediaWiki, eu tenho um modelo que saídas entre outras coisas criadas dinamicamente categorias. Isto significa que a página que invoca o modelo serão classificados com base em algumas das variáveis ??passados ??para o modelo. As categorias gerados dinamicamente são blocos <includeonly>
dentro para evitar que a página do modelo em si de obter as categorias.
O problema é que eu, em seguida, transclude que página para outras páginas, o que causa as categorias a serem transcluídos bem, e agora que a terceira página tem todas as categorias de todas as páginas que transcluded.
Eu quero formatar alguma forma o modelo de tal forma que a página que invoca o modelo irá fazer uso das categorias, mas as páginas que transclude página invocação não herdarão as categorias.
Exemplo
Aqui está o meu melhor tiro em um exemplo da configuração. Se esta for inadequada posso fornecer links para o meu exemplo do mundo real.
Template:Food
Uma página que leva um par de variáveis ??e gera um bloco altamente formatados que explica a comida, incluindo a saída de uma categoria com base na variável "tipo".
Banana
Esta página invoca o modelo Template:Food
com algumas variáveis, incluindo set type
para "fruit"
. O resultado é quando o usuário visualiza a página "Banana
" que recebem uma página bem formatada com algumas informações básicas sobre a fruta. Além disso, se o usuário vai para a página Category:Fruit
, eles vão ver a página Banana listados.
Banana Nut Bread Recipe
Esta é a página problema. Nesta página da receita, o autor quer transclude todas as páginas para os ingredientes para que cada ingrediente é listado em seu bloco bem formatado. No entanto, quando ele transcludes página Banana
usando {{:Banana}}
, a categoria Fruit
é transcluída junto com ele e agora a página Banana Nut Bread Recipe
é listado como sendo na categoria Fruit
que é errado.
Solução
Se bem entendi, você quer limitar a informação includeonly (a categoria) para apenas profundidade 1 inclusão. Eu não acho que é possível.
As soluções possíveis:
1- Não coloque informações categoria no Template:Food
. Basta colocá-lo diretamente em cada página ingrediente ou se você realmente deve, criar um Template:Food_category
ou similar. Em seguida, cada página pode ter qualquer número de {{Food}}
s e os {{food category}}
s precisaria ser explicitamente colocado.
Outras dicas
A extensão Seção inclusão Rotulado permite marcar partes de um artigo de fonte com etiquetas e transclude com base nessas tags. As etiquetas podem sobrepor-se, de modo que você tem o controle muito granular sobre o que é puxado através.
https://www.mediawiki.org/wiki/Extension:Labeled_Section_Transclusion
Gostaria de pensar que com Rotulado Seção inclusão, você poderia transclude tanto o Tipo: frutas e a descrição Banana em declarações inclusão separados na página Banana, mas só puxar a descrição através da página da receita.