\ \

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

Warning: Can't find topic SelectTwikiWebs

Templates TWiki

Definição dos Templates utilizados para renderizar todas as páginas HTML mostradas no TWiki

Visão Geral

O novo sistema de Templates modulares oferece flexibilidade e um controle fácil sobre o layout de todas as páginas TWiki. O Template mestre agrupa partes utilizadas em vários Templates - como cabeçalhos e rodapés - em um arquivo comum. Variáveis especiais permitem que layouts individuais incluam partes de um Template mestre - as varáveis são misturadas com código HTML para conteúdos específicos de cada Templates. Os Templates são utilizados para definir o layout da página, e também para fornecer um conteúdo padrão para páginas novas.

Principais alterações do sistema de templates anterior

Onde os antigos Templates eram cada um um documento HTML completo, os novos Templates são definidos usando-se variáveis para incluir partes de um arquivo mestre. Agora você pode mudar apenas uma instância de um elemento comum e afetar todas as suas ocorrências; antes, cada Template afetado tinha de ser mudado. Isso simplifica a conversão de Templates em arquivos XHTML, e fornece uma solução mais versátil para Templates e TwikiSkins?. O novo sistema:

Como as Variáveis de Template Funcionam

Tipos de Template

Existem 3 tipos de Template:

Templates Mestre

Partes comuns, aparecendo em dois ou mais templates, podem ser definidas em um template mestre e depois compartilhadas por outros: twiki.tmpl é o template mestre padrão.
Variáble: Define:
%TMPL:DEF{"sep"}% "|" separador
%TMPL:DEF{"htmldoctype"}% Início de todas as páginas HTML
%TMPL:DEF{"standardheader"}% Cabeçalho padrão (ex: ver, índice, busca)
%TMPL:DEF{"simpleheader"}% Cabeçalho padrão com links reduzidos (ex: editar, anexar, oops)
%TMPL:DEF{"standardfooter"}% Rodapé,excluindo partes de revisão e copyright
%TMPL:DEF{"oops"}% Esqueleto da caixa de diálogo oops

Páginas HTML Template

O TWiki usa templates HTML para todas as ações, como ver tópicos, editar, and previsualizar. Isso permite que você mude a aparência e o tom de muitas páginas apenas editando alguns arquivos.

Os templates estão no diretório twiki/templates . Como um exemplo, twiki/templates/view.tmpl é o template para o script twiki/bin/view . Templates podem ser substituídos em webs individuais. A ordem de procura é a seguinte:

  1. twiki/templates/$webName/$scriptName.tmpl
  2. twiki/templates/$scriptName.tmpl
    • $webName é o nome da web (ex: Main)
    • $scriptName é o script (ex: view).

HELP NOTE: As TWikiSkins? podem ser definidas para se sobreporem aos templates padrão.

Variáveis especiais são utilizadas em templates, especialmente em view, para mostrar meta dados.

Templates de Tópicos

Template de topicos definem o texto padrão para novos tópicos. Existem três tipos de templates de tópicos:

Nome: O que é:
WebTopicViewTemplate Página de erro quando se endereça um tópico não-existente
WebTopicNonWikiTemplate Página de alerta mostrada quando você tenta visualizar um tópico não existente que não é uma WikiWord
WebTopicEditTemplate Texto padrão quando se cria um novo tópico.
Todos os templates de tópico estã localizados na web TWiki. O WebTopicEditTemplate pode ser sobreposto. Quando você cria um novo tópico, o TWiki o tópico para ser utilizado como conteúdo padrão na seguinte ordem:

  1. Um nome de tópico especificado pelo parâmetro CGI templatetopic .
  2. WebTopicEditTemplate na web atual
  3. WebTopicEditTemplate na web TWiki

Editando Templates de Tópicos e Expansão de Variáveis

As variáveis seguintes são expandidas quando um usuário cria um novo tópico baseado num template de tópico:

Variável: Descrição:
%DATE% Data atual, e.g. 21 Nov 2009
%WIKIUSERNAME% Nome do usuário, e.g. Main.TWikiGuest
%URLPARAM{"name"}% Valor de um parâmetro passado na URL com o nome 'name'
%NOP% Uma variável de não-operação que é removida. Útil para prevenir uma SEARCH de alcançar um tópico de edição; útil também para escapar uma variável, como em %URLPARAM%NOP%{...}%
%NOP{ ... }% Um texto de não-operação que é removido. Útil para proteger um template contra edição, mas não os tópicos baseados no template. Veja as notas abaixo. Exemplo:
%NOP{
   * Set ALLOWTOPICCHANGE = Main.TWikiAdminGroup
}%

Notas:

Todas as outras variáveis vão sem modificações para o tópico.

Templates de Tópicos em Ação

Aqui está um exemplo para criar novos tópicos baseado num template de tópicos:

  • Novo template de tópico: (date format is YYYYxMMxDD)

O formulário acima pede por um nome de tópico. Uma tag escondida chamada de templatetopic especifica ExampleTopicTemplate? como o template de tópico a ser utilizado. Aqui está o fonte HTML do formulário:

<form name="new" action="%SCRIPTURLPATH%/edit%SCRIPTSUFFIX%/%INTURLENCODE{"%WEB%"}%/">
   * Novo template de tópico: 
     <input type="text" name="topic" value="ExampleTopic%SERVERTIME{$yearx$mox$day}%" size="23" />
     <input type="hidden" name="templatetopic" value="ExampleTopicTemplate" />
     <input type="hidden" name="onlywikiname" value="on" />
     <input type="submit" value="Create" />
     (date format is <nop>YYYYxMMxDD)
</form>

O parâmetro onlywikiname força WikiWords para nomes de tópico.

TIP TIP: Você pode usar as variáveis %WIKIUSERNAME% e %DATE% nos seus templates de tópicos para incluir a assinatura de quem gerou o tópico. as variáveis são expandidas em texto quando um tópico é criado. A assinatura padrão é:
-- %WIKIUSERNAME% - %DATE%

Templates por Exemplo

Anexado está o exemplo de um template baseado em oops, oopsbase.tmpl e uma example oops dialog oopstest.tmpl baseada no template base. %A% NOTE: Esta não é a versão final, apenas um demo rápido e simples.

Template de base oopsbase.tmpl

A primeira linha declara uma variável delimitadora chamada "sep", utilizada para separar mútltiplos itens linkados. A variável pode ser invocada em qualquer lugar digitando-se %TMPL:P{"sep"}%

%TMPL:DEF{"sep"}% | %TMPL:END%
<html>
<head>
  <title> %WIKITOOLNAME% . %WEB% . %TOPIC% %.TMPL:P{"titleaction"}%</title>
  <base href="%SCRIPTURL%/view%SCRIPTSUFFIX%/%WEB%/%TOPIC%">
  <meta name="robots" content="noindex">
</head>
<body bgcolor="#FFFFFF">
<table width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr>
    <td bgcolor="%WEBBGCOLOR%" rowspan="2" valign="top" width="1%">
      <a href="%WIKIHOMEURL%">
      <img src="%PUBURLPATH%/wikiHome.gif" border="0"></a>
    </td>
    <td>
      <b>%WIKITOOLNAME% . %WEB% . </b><font size="+2">
      <B>%TOPIC%</b> %TMPL:P{"titleaction"}%</font>
    </td>
  </tr>
  <tr bgcolor="%WEBBGCOLOR%">
    <td colspan="2">
      %TMPL:P{"webaction"}%
    </td>
  </tr>
</table>
--- ++ %TMPL:P{"heading"}%
%TMPL:P{"message"}%
<table width="100%" border="0" cellpadding="3" cellspacing="0">
  <tr bgcolor="%WEBBGCOLOR%">
    <td valign="top">
      Topic <b>%TOPIC%</b> . {
        %TMPL:P{"topicaction"}%
      }
    </td>
  </tr>
</table>
</body>

Test template oopstest.tmpl

Cada oops templade apenas define variáveis e inclui o template base que faz o layout.

</table >

Um screenshot de oopstest.tmpl

Com a URL: .../bin/oops/Sandbox/TestTopic2?template=oopstest&param1=WebHome&param2=WebNotify

%TMPL:DEF{"titleaction"}% (test =titleaction=) %TMPL:END%
%TMPL:DEF{"webaction"}% test =webaction= %TMPL:END%
%TMPL:DEF{"heading"}%
Test heading %TMPL:END%
%TMPL:DEF{"message"}%
Test =message=. Blah blah blah blah blah blah blah blah blah blah blah...

   * Some more blah blah blah blah blah blah blah blah blah blah...
   * Param1: %PARAM1%
   * Param2: %PARAM2%
   * Param3: %PARAM3%
   * Param4: %PARAM4%
%TMPL:END%
%TMPL:DEF{"topicaction"}%
Test =topicaction=:
[[%WEB%.%TOPIC%][OK]] %TMPL:P{"sep"}%
[[%TWIKIWEB%.TWikiRegistration][Register]] %TMPL:END%
%TMPL:INCLUDE{"oopsbase"}%
testscreen.gif

Problemas Conhecidos

-- PeterThoeny - 01 Feb 2003
-- MikeMannix - 14 Sep 2001
-- TWiki:Main/DavidLeBlanc - 11 Mar 2002

TraducaoForm
Categoria Traducao
EstadoDaTraducao FaltaRevisao
FonteOriginal

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

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