FANDOM


Esta extensão não é normalmente ativa, mas pode estar disponível a pedido.

DPL (também conhecida como extensão Dynamic Page List) é uma extensão MediaWiki poderosa que permite a criação de lista de páginas usando vários critérios tais como participação em uma categoria ou inclusão em uma predefinição específica.

DPL é mais comumente usada para mostrar listas simples de páginas em um grupo de categorias -- ex: páginas em Categoria:Episódios e Categoria:Resumos.

Por causa da potência desta extensão, DPL aumenta a carga do servidor e pode resultar em páginas que demoram muito tempo para serem carregadas. Dessa maneira, é extremamente importante que você leia a seção "Usando DPL efetivamente" deste artigo.

Benefícios de DPL

  • Cria listas dinâmicas de páginas baseadas em vários parâmetros, tais quais títulos de páginas, namespaces, participação em uma categoria, inclusão em uma predefinição e mais.
    • Por exemplo, você pode criar uma página que lista todas as páginas em duas categorias, mas não em um terceira.
  • Pode incluir informações sobre a página, tais como: data da última edição, nome de usuário do último editor e mais.
  • Pode mostrar listas em tabelas, em listas com pontos ou números, no estilo de página de categoria ou na mesma linha.
  • Permite a criação de listas com estilos personalizados e formatação entre os itens.

Como incluir DPL em uma página

DPL começa com <dpl> e termina com </dpl>. Dentro dessas "tags", usuários podem colocar vários parâmetros para personalizar o código de acordo com as suas necessidades. Você também pode usar {{#dpl: .... }}.

Aqui está um exemplo de DPL:

<DPL>
category=Personagens
</DPL>

Esse código geraria uma lista de todas as páginas na categoria Personagens.

A lista pode ser personalizada:

<DPL>
category=Personagens
notcategory=Personagens da 1ª temporada
namespace=Personagem
mode=ordered
</DPL>

Esse código mostraria todas as páginas que estão no namespace "Personagem" e tem a categoria "Personagens" na página, se a página não contiver a categoria "Personagens da 1ª temporada". Essa lista seria uma <ol> (lista ordenada) ao contrário da lista padrão <ul>.

Uma lista extensiva de todos os parâmetros DPL está disponível aqui, e mais informações sobre a extensão podem ser encontradas MediaWiki.org.

Usando DPL efetivamente

DPL pode fazer com que um site fique mais devagar. As dicas seguintes servem para resolver este problema.

Primeiro, considere se usar DPL é realmente necessário. Se o propósito for usar essa ferramenta porque ela é "legal", você pode usar outras ferramentas tão legais quanto, como enquete, calendário, feed RSS, vídeos, e mais.

Segundo, se você decidir que DPL é a melhor ferramenta para este trabalho, deixe o DPL fazer um cache dos resultados! Basta adicionar esta linha ao seu código DPL:

allowcachedresults=true

Use outras ferramentas para usos comuns do DPL

Crie listas de categorias simples
Para criar uma lista simples de categoria, você pode usar a documentação da tag <categorytree>. Por exemplo, para obter uma lista de páginas na categoria 'Comunidade', considere o seguinte:
<categorytree mode="pages" hideroot=on>Comunidade</categorytree>
Conteúdo aleatório
Use Seleção Aleatória.
Usos avançados
Para usos mais avançados, por favor, cheque a lista de extensões especializadas antes de usar DPL. Por exemplo, ao invés de criar um calendário com DPL, use uma das extensões de calendário disponíveis. Se você não tiver certeza ou não vir a extensão que você precisa, entre em contato com a gente e nós ficaremos felizes em ajudar.

O que evitar

Não use DPL para:

  • Funções usando "randomcount" - não há como salvar o cache
  • DPL em predefinições que são usadas em todo o site - cria pedidos de DPL em toda ao Fandom
  • Códigos extensivos - não mostre 500 resultados se 20 resolvem o problema
  • Mais do que uma ou duas listas DPL por página

Alternativas para problemas comuns

  • Se você vir um resultado esquisito vindo do DPL, tente usar ?action=purge (ou &action=purge, se ? já estiver sendo usado) no final do seu URL e então recarregue a página.
    • Isso pode consertar problemas onde o código backend do DPL foi atualizado, mas o servidor do cache não foi recarregado.