\ \

..:: TWiki em português -- FormattedSearch ::..

Warning: Can't find topic SelectTwikiWebs

Resultados Formatados da Busca TWiki

A característica da busca em linha (%SEARCH{...}%) que permite a formatação flexível do resultado

A variável %SEARCH{...}% documentada em Variávei do TWiki tem um formato fixo para o resultado da busca, isto é, uma tabela contendo nomes de tópicos e sumários. Use o parâmetro format="..." para especificar um formato personalizado do resultado. A string do parâmetro format normalmente é uma lista de bolotas ou linhas de tabela contendo variáveis (como em %SEARCH{ "comida" format="| $topic | $summary |" }%).

Sintaxe

Dois parâmetros podem ser usados para especificar um resultado de busca personalizado:

1. Parâmetro header="..."

Use o parâmetro header para especificar o cabeçalho de um resultado de busca. Isso deve corresponder ao fomato no parâmetro format. Esse parâmetro é opcional.
Exemplo: header="| *Tópico:* | *Sumário:* |"

2. Parâmetro format="..."

Use o parâmetro format para especificar o formato de um item do resultado.
Exemplo: format="| $topic | $summary |"

Variáveis que podem ser usadas na linha de formatação:

Nome: É convertida para:
$web Nome da web
$topic Nome do Tópico
$topic(20) Nome do Tópico, "- " com hífens a cada 20 caracteres
$topic(30, -<br />) Nome do Tópico, com hífens a cada 30 caracteres e com separador "-<br />"
$topic(40, ...) Nome do Tópico, reduzido para 40 caracteres com a indicação "..."
$text Tópico de texto formatado
$locked O marcador TRANCADA (se houver)
$date Mostra última atualização do tópico, como 21 Nov 2009 - 09:20
$isodate Mostra última atualização do tópico, como 2009-11-21T09:20Z
$rev Número da última revisão de tópico, como 1.4
$wikiusername Nome de usuário Wiki da útima modificação do tópico, como Main.JohnSmith
$username Nome de usuário da útima modificação do tópico, como JohnSmith
$summary Sumário do tópico
$formfield(name) O valor do campo de formulário; por exemplo, $formfield(TopicClassification) pode ser convertido para PublicFAQ. Isso se aplica somente a tópicos que tenham um TWikiForm
$formfield(name, 10) valor do campo de formulário, "- " com hífens a cada 10 caracteres
$formfield(name, 20, -<br />) valor do campo de formulário, com hífens a cada 20 caracteres e o separador "-<br />"
$formfield(name, 30, ...) valor do campo de formulário, reduzido para 30 caracteres com a indicação "..."
$pattern(reg-exp) Uma padrão em expressão regular para extrir algum texto do tópico. Por exemplo, $pattern(.*?\*.*?Email\:\s*([^\n\r]+).*) extrai o endereço de e-mail de um item de lista no formato * Email: ....
$n or $n() Nova linha
$nop or $nop() É um "não operar". Essa variável foi removida; útil para buscas aninhadas
$quot Aspas duplas ("). Forma alternativa da \" "escapada"
$percnt Simbolo de percentagem (%)
$dollar Simbolo de dollar ($)

Nota: Para $pattern(reg-exp), especifique uma Expressão Regular que varra do início ao fim e contenha o texto que você deseja pegar em parênteses, como $pattern(.*?(daqui.*?até aqui).*). Você precisa ter certeza que a integridade da página web não será comprometida; por exemplo, se você incluir uma tabela, tenha certeza de incluir tudo, inclusive o fim da tag table.

Exemplos

Lista de bolota mostrando nome do tópico e sumário

Escreva isso:

%SEARCH{ "FAQ" scope="topic" nosearch="on" nototal="on" header="   * *Tópico: Sumário:*" format="   * [[$topic]]: $summary" }%

Para ter isso:

Tabela mostrando valores de campos de formulário de tópicos com TWikiForms

Escreva isso na web Know:

| *Tópico:* | *OperatingSystem:* | *OsVersion:* |
%SEARCH{ "[T]opicClassification.*?value=\"[P]ublicFAQ\"" scope="text" regex="on" nosearch="on" nototal="on" format="| [[$topic]] | $formfield(OperatingSystem) | $formfield(OsVersion) |" }%

Para ter isso:

Tópico: OperatingSystem: OsVersion:
IncorrectDllVersionW32PTH10DLL OsWin 95/98
WinDoze95Crash OsWin 95

Extraindo algum texto de um tópico usando expressão regular

Escreva isso:

%SEARCH{ "__Back to\:__ TWikiFAQ" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format="   * $pattern(.*?FAQ\:[\n\r]*([^\n\r]+).*) [[$topic][Answer...]]" }%

Para ter isso:

Busca aninhada

Buscas podem ser aninhadas. Por exemplo, busque por alguns tópicos, então faça uma nova busca em cada tópico da primeira busca. A idéia é montar a busca aninhada usando a busca formatada na primeira busca.

Aqui temos um exemplo. Vamos procurar por todos os tópicos que contenham a palavra "cultura" (primeira busca), e vamos encontrar onde cada tópico encontrado é linkado (segunda busca).

Escreva isso:

%SEARCH{ "culture" format="   * $topic é referenciado por:$n      * $percntSEARCH{ \"$topic\" format=\"   $dollartopic\" nosearch=\"on\" nototal=\"on\" }$nop%" nosearch="on" nototal="on" }%

Para ter isso:

-- PeterThoeny? - 16 May 2002

TraducaoForm
Categoria Traducao
EstadoDaTraducao FaltaRevisao
FonteOriginal

Tópico FormattedSearch    --    Editar Anexar Ver diffs Mais...

XHTML 1.0 válido! CSS válido! Sou tableless!