PradoSoft

Pt:Templates: Parte I

From PRADO Wiki

Voltar à página principal


Contents

Templates: Parte I

Templates são usados para especificar o layout de apresentação dos controles. Um template pode conter texto estático, componentes, ou controles que contribuam para apresentação final de um controle associado. Por padrão, uma instância do "TTemplateControl" ou subclasses deste podem carregar e instanciar um template de um arquivo que o nome é o mesmo do arquivo de controle de classe. Para templates de página, a extensão do arquivo deve ser ".page"; para outros controles regulares de template, a extensão é ".tpl";

O formato do template é como HTML, com poucas tags específicas do PRADO, incluindo tags de componentes, tags de controle de componente, tags de comentário, tag de conteúdo dinâmico e tags de propriedades dinâmicas.

Tags de Componentes

Uma Tag de componente especifica um componente como parte do conteúdo do "body" do controle template. Se o componente é um controle, ele normalmente se tornará um filho ou neto do controle template, e o resultado de sua interpretação será inserido no lugar onde ele aparece no template.

O formato de uma tag de componente é como segue:

 
<com:ComponentType PropertyName="PropertyValue" ... EventName="EventHandler" ...>
body content
</com:ComponentType>

"ComponentType" pode ser qualquer nome de classe ou nome separado por pontos (como "System.Web.UI.TControl") do componente. "PropertyName" e "EventName" não diferenciam maíusculas de minúsculas. "PropertyName" pode ser nome de uma propriedade ou sub-propriedade (como Font.Name ). Note que, "PropertyValue" será um HTML decodificado quando associado à propriedade correspondente. O conteúdo dentro das tags de abertura e fechamento são normalmente tratados como corpo do componente.

Isto requer que as tags de componentes estejam aninhadas propriamente e uma tag de abertura de componente deve formar um par com a tag de fechamento, de maneira similar com em um XML.

O Template a seguir mostra uma tag de componente especificando a propriedade "Text" e o evento "OnClick" de um controle Botão:

 
<com:TButton Text="Register" OnClick="registerUser" />

Note que nomes de propriedades e nomes de eventos não diferenciam maiúsculas de minúsculas, enquanto nomes de tipos de componentes diferenciam. Nomes de eventos sempre iniciam com "On".

Também repare que valores iniciais para propriedades que seus nomes terminam por "Template" são especialmente processadas. Em particular, os valores iniciais são interpretados como um objeto "TTemplate". A propriedade "ItemTemplate" do controle "TRepeater" é um exemplo disto.

Para tratar convenientemente com propriedades recebem muitos dados iniciais, a seguinte tag de inicialização de propriedade foi introduzida.

 
<prop:PropertyName>
PropertyValue
</prop:PropertyName>


Isto é equivalente a ...Nome_da_Propriedade = "Valor"... em todos os aspectos. A tag de inicialização de propriedades precisa ser diretamente colocada entre as tags de abertura e fechamento do componente correspondente.

ID de componente

Quando especificado nos templates, a propriedade "ID" do componente tem um significado especial além da definição normal de propriedades. Uma tag de componente especificada com um valor de "ID" no template irá registrar o componente correspondente ao proprietário do controle template. O componente pode ser acessado diretamente pelo controle template com seu valor "ID". Por exemplo, em um template "Home", a tag de componente a seguir :

 
<com:TTextBox ID="TextBox" Text="First Name" />

torna possível acessar o objeto "textbox" usando o código "$page->TextBox".


Tags de Controles template

Uma tag de controle template é usada para configurar os valores iniciais do controle que possui o template. Seu formato é assim como segue:

 
<%@ PropertyName="PropertyValue" ... %>

Como tags de componentes, o nome da propriedade não diferencia maiúsculas de minúsculas e podem ser nomes de propriedades ou sub-propriedades.

Valores iniciais especificados pela tag de controle template são associados às propriedades correspondentes quando o controle template for construído.

A Tag de controle template é opcional no template. Cada template pode conter no máximo uma tag de controle template.

Você pode colocar a tag de controle template em qualquer lugar no template. è recomendado que você coloque no início do template para facilitar a visualização.

Tags de comentários

Tags de comentários são usados para colocar comentários no template ou no resultado final da geração. Existem dois tipos de tags de comentários. Um é como no HTML e será exibido aos usuários finais. O outrosomente aparecerá no template e será excluído quando o template for instanciado e exibido aos usuários-finais. O formato destas duas tags é como a seguir:

 
<!--
Comments VISIBLE to end-users
-->
 
<!--
Comments INVISIBLE to end-users
--!>

Note que, o comentário de template ( que termina com --!>) não pode aparecer em um valor de propriedade.-->

Personal tools
Your user name:

Your password:

MediaWiki