categoria limite de inclusão ao usar categorias gerados dinamicamente em MediaWiki

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

  •  03-07-2019
  •  | 
  •  

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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top