Extension:CategoryTree/pt-br

From MediaWiki.org
Jump to navigation Jump to search
Manual de extensões do MediaWiki
OOjs UI icon advanced.svg
CategoryTree
Estado da versão: estável
Implementação Tag, Parser function, Special page
Descrição Fornece uma visão dinâmica da estrutura das categorias do wiki como uma árvore.
Autor(es) Daniel Kinzler (Duesentriebtalk)
Última versão atualizações contínuas
MediaWiki 1.8 (r16385 ou posterior),
1.11 (r30515 ou posterior),
1.13+ (r36772 ou posterior)
Modifica o banco
de dados
Não
Licença GPL and GFDL
Download
README
Parâmetros
$wgCategoryTreeMaxChildren, $wgCategoryTreeAllowTag, $wgCategoryTreeDynamicTag, $wgCategoryTreeDisableCache, $wgCategoryTreeHTTPCache, $wgCategoryTreeOmitNamespace, $wgCategoryTreeMaxDepth, $wgCategoryTreeDefaultMode, $wgCategoryTreeCategoryPageMode
Hooks usados
ArticleFromTitle
Debug
MakeGlobalVariablesScript
OutputPageParserOutput
OutputPageMakeCategoryLinks
ParserFirstCallInit
SkinTemplateOutputPageBeforeExec
Traduzir a extensão CategoryTree, se estiver disponível no translatewiki.net
Verificar uso e matriz de versões
Problemas Tarefas em aberto · Relatar um bug

A extensão CategoryTree (árvore de categorias) fornece uma visão dinâmica da estrutura de categorias do wiki como uma árvore. Ela usa AJAX para carregar as partes da árvore na demanda. CategoryTree foi originalmente escrito por Daniel Kinzler como uma ferramenta externa (veja meta:User:Duesentrieb/CategoryTree). Mais tarde, foi integrado no software MediaWiki, com a ajuda de Tim Starling.

Uso[edit]

CategoryTree pode ser usado de três maneiras:

  • Diretamente nas páginas da categoria,
  • Como uma marca "customizada" (ou "função parser") para mostrar uma estrutura de categorias em uma linha numa página do wiki,
  • E como uma página especial.

A extensão CategoryTree adiciona o widgets [+] "expandir" para subcategorias listadas nas páginas da categoria. Se o Javascript está desativado, os widgets levam você para a página da categoria (em versões anteriores, ele não fez nada, nesse caso).

A marca <categorytree>[edit]

Exemplo:

<categorytree mode=pages>Manual</categorytree>

A marca personalizado é chamada <categorytree>. Por exemplo, se você colocar <categorytree>Exemplo</categorytree> em uma página no wiki, irá mostrar o conteúdo da categoria "Exemplo" como uma árvore dinâmica da página (ver exemplo à direita). A marca aceita os seguintes atributos, usando uma sintaxe do tipo HTML:

mode
Determina quais páginas são mostradas na árvore. Isto pode ser substituído pelo uso da opção namespace. Valores possíveis:
categories
Mostra apenas as subcategorias (configuração constante CT_MODE_CATEGORIES).
pages
Mostra subcategorias e páginas, exceto imagens (configuração constante CT_MODE_PAGES).
all
Mostra todas as páginas, subcategorias, imagens, etc (configuração constante CT_MODE_ALL).
parents
Lista de categorias-mãe, em vez de subcategorias (configuração constante CT_MODE_PARENTS). Isso coloca CategoryTree em operação "inversa" (suportado desde rev:36892, julho de 2008).
depth
Determina quantos níveis da árvore são exibidos inicialmente. O padrão é 1.0, significa que mostra apenas a raiz. O valor máximo depende do modo especificado e sobre a opção $wgCategoryTreeMaxDepth (introduzido entre rev:r20410 e rev:20840, 30 de março de 2007, totalmente funcional com $wgCategoryTreeDynamicTag desde rev:36864, julho de 2008).
onlyroot
Defina isto para "on" para mostrar apenas a "raiz" da árvore inicialmente. Equivalente a depth="0" (introduzido em rev:20385, 13 de março de 2007). Obsoleto em rev:36864, julho de 2008, use depth="0" em vez disso.
hideroot
Definir isto para "on" para esconder a "raiz" da árvore, ou seja, hideroot=on. Por exemplo, ele não irá exibir o nome "Exemplo" da categoria.
hideprefix
Determina quando o prefixo namespace deve ser escondido nas entradas da árvore (desde rev:36864, julho de 2008). Os valores possíveis são:
always
Sempre esconde o prefixo. Deve ser usado somente se todas as páginas vêm do mesmo namespace (configuração constante CT_MODE_CT_HIDEPREFIX_ALWAYS).
never
Nunca esconde o prefixo, nem mesmo para as categorias (configuração constante CT_MODE_CT_HIDEPREFIX_NEVER).
auto
Oculta o espaço das categorias, se somente as categorias são apresentadas, assim como no mode="categories" (configuração constante CT_MODE_CT_HIDEPREFIX_AUTO); Isto é equivalente ao comportamento padrão antigo (antes de junho de 2008).
categories
Sempre esconde o espaço das categorias, mas mostra todos os outros prefixos (configuração constante CT_MODE_CT_HIDEPREFIX_CATEGORIES). Este é o novo comportamento padrão (desde rev:36864, julho de 2008).
showcount
Definir isto para "on" para mostrar o número de entradas em subcategorias, ou seja, showcount="on" (Desde rev:36864, julho de 2008). Esta é desativado por padrão para árvores de categorias alinhadas nas páginas, mas ativado por padrão em uma categoria listada em Special:CategoryTree.
namespaces
Uma lista de nomes de páginas que devem ser incluídas na árvore (desde rev:36864, julho de 2008). As entradas na lista devem ser nomes de namespace, separados por espaços. Os namespaces principais podem ser representado pelo "-" ou "0". Isso substitui a opção mode.
class, style, id, etc
A marca HTML <categorytree> suporta todos os atributos padrão para os elementos do bloco (desde rev:36864, julho de 2008. Antes disso, apenas style foi suportado).

A função parser {{#categorytree}}[edit]

Desde rev:25825 (2007/09/13), você também pode usar a função parser sintaxe para colocar uma árvore de categoria em uma página. Isto funciona como a marca <categorytree>, utilizando uma sintaxe diferente, por exemplo, {{#categorytree:Exemplo}}; Opções podem ser especificadas usando a sintaxe com parâmetros para predefinições, por exemplo, {{#categorytree:Exemplo|hideroot|mode=pages}}.

Usando a sintaxe função parser tem a vantagem que permite a utilização de palavras mágicas, predefinições e parâmetros de predefinições quando especificam a exibição da categoria. Alguns exemplos:

  • Usando uma palavra mágica variável para mostrar "esta páginas" na árvore de categorias (pode ser útil em páginas de descrição da categoria): {{#categorytree:{{PAGENAME}}}}.
  • Usando uma predefinição para especificar a categoria: {{#categorytree:{{root category}}}} - O nome da raiz da árvore de categorias seria definido pelo conteúdo da Predefinição:Root_category.
  • Usando um parâmetro de predefinição para especificar a categoria, quando se utiliza CategoryTree dentro de uma predefinição: {{#categorytree:{{{1}}}}} na predefinição:Baz pode ser incorporado usando {{Baz|Exemplo}}

A página Special:CategoryTree[edit]

A página especial é chamado Special:CategoryTree (Especial:Árvore de categorias em uma wiki em português), lá você pode digitar o nome de uma categoria e depois procurar o seu conteúdo.

Instalação[edit]

Nota: A última versão da extensão CategoryTree exige MediaWiki 1.13. A primeira versão exige MediaWiki 1.8 (rev:16385 ou posterior).

Baixe o último snapshot e extraia para a pasta "extensions" da sua instalação do MediaWiki. Em seguida, adicione as seguintes linhas ao arquivo LocalSettings.php (perto do final):

$wgUseAjax = true;
require_once("{$IP}/extensions/CategoryTree/CategoryTree.php");

Nota-se que $wgUseAjax = true; permitirá o quadro ajax em MediaWiki, que é exigido pela extensão CategoryTree. AJAX é um termo para usar JavaScript para carregar partes de uma página na demanda. É suportado por todos os navegadores gráfico recentes.

Configuração[edit]

Existem algumas opções que você pode especificar no seu arquivo LocalSettings.php:

$wgCategoryTreeMaxChildren
Número máximo de categorias mostradas na raiz da árvore. O padrão é 200.
$wgCategoryTreeAllowTag
Ativa a marca <categorytree>. O pradão é true (verdadeiro).
$wgCategoryTreeDynamicTag
Carrega o primeiro nível da árvore em <categorytree> dinamicamente. Desta forma, o cache não precisa ser desativado. O padrão é false (falso).
$wgCategoryTreeDisableCache
Desativa o cache parser das páginas com uma marca <categorytree>. O padrão é true.
$wgCategoryTreeHTTPCache
Ativa o cache HTTP para os usuários anônimos. O padrão é false.
$wgCategoryTreeOmitNamespace
Não mostra o nome do namespace para páginas de categorias. O padrão é false, namespaces são mostradas somente se as categorias não são mostradas. Obsoleto em rev:36864, julho de 2008: use $wgCategoryTreeDefaultOptions['hideprefix'] em vez disso.
$wgCategoryTreeMaxDepth
Uma matriz que define a profundidade máxima para cada "mode", para que a árvore possa ser expandida usando inicialmente o parâmetro depth em uma marca <category>. Por padrão, esta é definida como 2 para "categories mode" e 1 para outros "modes". Para configurá-lo para 3 categories e 2 para os outros modes, por exemplo, você pode usar $wgCategoryTreeMaxDepth = array(CT_MODE_PAGES => 2, CT_MODE_ALL => 2, CT_MODE_CATEGORIES => 3);.
$wgCategoryTreeDefaultMode
O mode padrão ao usar o mode sem nenhum atributo é especificado em uma marca <categorytree>. Pode ser CT_MODE_CATEGORIES (o padrão), CT_MODE_PAGES ou CT_MODE_ALL.
$wgCategoryTreeCategoryPageMode
O mode para usar quando as árvores de renderização de páginas da categoria. Obsoleto em rev:36864, julho de 2008: use $wgCategoryTreeCategoryPageOptions['mode'] em vez disso.
$wgCategoryTreeForceHeaders
Se for true, as forças de scripts necessitam CategoryTree em cada página, ao invés da demanda. Isto pode ser necessário se CategoryTree é incorporado de forma incomum, por exemplo, uma capa personalizada ou em uma mensagem de sistema (desde rev:36888, julho de 2008).
$wgCategoryTreeSidebarRoot
A raiz da categoria pode ser usada para integrar a árvore de categorias na barra lateral (desde rev:36920, julho de 2008). Se não for definido, nenhuma árvore é integrada (esse é o padrão). Integrar uma árvore de categorias na barra lateral só funciona com temas baseados em SkinTemplate, isto é, Moderno, MonoBook, Chick, Simples e MySkin, mas não Standard, Nostalgia ou CologneBlue.
$wgCategoryTreeDefaultOptions
Opções padrões para aplicar, como um array (desde rev:36864, julho de 2008). Exemplo: $wgCategoryTreeDefaultOptions['mode'] = 'pages';.
$wgCategoryTreeCategoryPageOptions
Opções para utilizar em páginas de categorias, como um array (desde rev:36864, julho de 2008).
$wgCategoryTreeSpecialPageOptions
Opções para usar em Special:CategoryTree, como um array (desde rev:36864, Julho de 2008).
$wgCategoryTreeSidebarOptions
Opções para utilizar na hora de mostrar a árvore na barra lateral, como um array (desde rev:36920, julho de 2008).

As mensagens do sistema[edit]

categorytree-member-num[edit]

Por padrão, quando há uma lista de subcategorias em uma página de categoria, cada categoria é seguida por um número inteiro, indicando a quantidade de subcategorias que se encontram abaixo:

Meu nome de categoria (5)

Você pode alterar esse comportamento, substituindo a mensagem de sistema MediaWiki:categorytree-member-num. Leva cinco parâmetros:

Parâmetro Significado
$1 Número de subcategorias
$2 Número de artigos (não incluindo páginas da categorias ou arquivos)
$3 Número de arquivos carregados
$4 Número total de páginas membros, incluindo páginas de categorias e de arquivos
$5 (Varia de acordo com o modo do CategoryTree... Alguém pode descrevê-lo?)

O valor padrão é ($5).

Dica: Use a extensão ParserFunctions para fornecer if/then/else logic para mostrar diferentes partes condicionalmente. Por exemplo:

{{#ifeq:$1|0||$1 categorias}}

A configuração para gerir espaços e vírgulas quando emitir todas as informações:

({{#ifeq:$1|0||$1 categorias}}{{#ifexpr:($2>0 or $3>0) e $1>0|, |}}{{#ifeq:$2|0||$2 páginas}}{{#ifexpr:$3>0 e ($1>0 or $2>0)|, |}}{{#ifeq:$3|0||$3 arquivos}})

Solução de problemas[edit]

Wiki não funciona após a instalação do CategoryTree[edit]

  • Usar o relatório de erros.
  • Certifique-se de que todos os arquivos foram instalados.
  • Certifique-se de que todos os arquivos de extensão CategoryTree ter mode 644 e o diretório CategoryTree tem mode 755.

Opções em LocalSettings.php não têm nenhum efeito[edit]

  • Certifique-se de especificar as opções depois de incluir a extensão.

Clicando no [+] não tem nenhum efeito, dá um erro de JavaScript ou apenas fica carregando[edit]

  • Note que o uso da marca <categorytree> em mensagens do sistema (namespace MediaWiki) pode não funcionar como esperado - isto é uma advertência conhecida. Para uma solução, ver #Usando CategoryTree na barra lateral abaixo.
  • Certifique-se de que há $wgUseAjax = true; em seu LocalSettings.php antes de incluir a extensão.
  • Certifique-se de que você está usando a versão mais recente da extensão - versão mais recente.
  • Se você estiver usando as regras de reescrita padronizadora (por exemplo, de ter "URLs muito curtas" - ou seja, páginas de wiki na raiz do documento), certifique-se de que tem uma exceção no local do diretório extensions/, assim como você faria no diretório skins/. Veja também abaixo.

O navegador relata um tipo de MIME ruim para CategoryTree.js e/ou CategoryTree.css[edit]

  • Verifique se o seu servidor usa os tipos de MIME correto, .js e .css.
  • Digite a URL diretamente no navegador e veja se ela está cumprindo as páginas ao todo, e não uma página de erro, especialmente:
  • Se você estiver usando regras de reescrita padronizada (por exemplo, de ter "URLs muito curtas" - ou seja, páginas de wiki na raiz do documento), certifique-se de que tem uma exceção no local do diretório extensions/, assim como você faria no diretório skins/.

Contagem de membros está errado, [x] é mostrado em vez de [+][edit]

Desde MediaWiki 1.13, CategoryTree pode mostrar um número de membros de uma categoria, e pode mostrar um [x] para raiz de árvores que não tem subcategorias com base nesse número. Esta informação é baseada na nova tabela de categorias. No entanto, preencher a tabela com os valores atuais, nem sempre funciona, quando atualizar para o 1.13. Nesse caso, execute o script populateCategory.php de manutenção, se necessário com a opção --force.

Sinais [X] [+] [-] mostrados apenas no primeiro nível da categoria de exibição de árvores[edit]

No caso de você ter apenas um nível depth, enquanto visualizar a árvore, tente definir no arquivo CategoryTreeFunctions.php a seguinte linha:

$linkattr['style'] = 'display: none;'; // Não esconder pro JS

para

$linkattr['style'] = 'display: inline;'; // Não esconder pro JS

O javascript destina-se a mudar o estilo da marca de alguma forma. Verificar mais tarde.

Ver também[edit]

Nota para os usuários robôs[edit]

Robôs e scripts que analisam o código HTML de páginas de categorias podem utilizar o parâmetro URL notree para forçar a saída do tradicional. No entanto, a saída HTML, geralmente não é estável, por isso é recomendado alterar o seu script para usar o api.php para buscar lista de categorias e similares.

Mensagem "Categoria não encontrada"[edit]

Depois de aplicar o plugin CategoryTree e adicionar o código para mostrar a árvore, se você ver uma mensagem que diz: Categoria não encontrada, você precisa adicionar algum conteúdo em suas páginas de categoria. As páginas de categoria não podem ser páginas vermelhas, basicamente. Clique nos nomes de sua categoria, adicione algum texto na página da categoria, e, em seguida, a árvore deve funcionar bem.

Hacks[edit]

Usando CategoryTree em mensagens do sistema e temas personalizados[edit]

Para usar o CategoryTree em mensagens do sistema ou na barra lateral, ou seja, usá-lo como parte da interface do usuário em vez do conteúdo da página, você tem que definir $wgCategoryTreeSidebarRoot para true (ou seja, wgCategoryTreeSidebarRoot = true;), para que os scripts de suporte estejam ligados em cada página (normalmente, eles estão apenas associados "a pedido", mas que a detecção não funciona para mensagens do sistema). Isso funciona desde rev:36888 (julho 2008). Se você tentar isso sem forçar os scripts a serem incluídos, clicando no [+] não tem nenhum efeito/dá erro no JavaScript.

Em versões mais antigas do CategoryTree, você tem que modificar o código para fazer este trabalho: encontre a função efCategoryTreeParserOutput no arquivo CategoryTree.php e remova a condição, ou seja, ele deve ter esta aparência:

function efCategoryTreeParserOutput( &$outputPage, &$parserOutput )  {
    CategoryTree::setHeaders( $outputPage );
    return true;
}

Usando CategoryTree na barra lateral[edit]

Desde rev:36920 (julho 2008) com o MediaWiki 1.13 (rev:36917), você pode integrar CategoryTree na barra lateral simplesmente ajustando $wgCategoryTreeSidebarRoot para a categoria que você deseja usar como raiz. Isso só funciona com temas baseados em SkinTemplate no entanto, que é Moderno, MonoBook, Chick, Simples e MySkin, mas não Standard, Nostalgia ou CologneBlue.

Se você usar $wgHooks['MonoBookTemplateToolboxEnd'][] = 'wfSomeFunc'; em LocalSettings.php abaixo do seu próprio artigo em wikitext na barra lateral, e, em seguida, adicionar itens CategoryTree para isso, você precisará definir $wgCategoryTreeForceHeaders = true; para garantir que funcione em cada página.

Se quiser o CategoryTree em uma posição diferente na barra lateral, você pode fazer isso colocaando ele em [[MediaWiki:Sidebar]] como "categorytree-portlet".

Para versões anteriores do CategoryTree e/ou MediaWiki, você precisará instalar um mod em MonoBook.php para permitir o wikitext normal na barra lateral.

Para acrescentar um link "CategoryTree" à sua barra de ferramentas (na barra lateral), adicione o seguinte código para a página de javascript (por exemplo, monobook.js) do seu tema.

function AppendCategoryTreeToSidebar() {
    try {
        var node = document.getElementById( "p-tb" )
                           .getElementsByTagName('div')[0]
                           .getElementsByTagName('ul')[0];
 
        var aNode = document.createElement( 'a' );
        var liNode = document.createElement( 'li' );
 
        aNode.appendChild( document.createTextNode( 'CategoryTree' ) );
        aNode.setAttribute( 'href' , 'http://en.wikipedia.org/wiki/Special:CategoryTree' );
        liNode.appendChild( aNode );
        liNode.className = 'plainlinks';
        node.appendChild( liNode );
    } catch(e) {
        // lets just ignore what's happened
        return;
    }
}
 
addOnloadHook( AppendCategoryTreeToSidebar );

Uma versão mais genérica deste código pode ser encontrada em Manual:Interface/Sidebar#Add or remove sections (JavaScript).

Ligações externas[edit]


Outros idiomas: English  • français • 日本語 • português • português do Brasil • русский