Trabalhando com Custom Tags no Railo

On 16 de fevereiro de 2012, in CFML, by andersonstraube

Neste post irei mostrar com criar, configurar e usar uma Custom Tag no Railo.

Custom Tags são trechos/templates de códigos escritos em CFML e são projetados para serem reutilizados. Custom Tags podem poupar muito tempo de desenvolvimento quando os códigos são usados com certa freqüência, além de serem fáceis para adicionar/remover funcionalidades.
Custom tags também podem ser desenvolvidas em C++, Java, whatever… Neste post eu apenas mostrarei como desenvolvê-lo através de código CFML.

Mais sobre Custom Tags,  neste post  do  Pedro Claudio .

O primeiro passo é configurar o Web Admin do Railo para indicar a pasta a qual conterá suas custom tags.

1 – Acesse o Web Admin do Railo: http://dominio.com /railo-context/admin/web.cfm

2 – No menu da esquerda selecione a opção “Custom tags”:

Menu Admin Railo

3 – Em Resources insira o caminho da pasta onde conterá suas Custom Tags, depois clique em Update:

Custom tags config

4 – Feito isso, vamos à parte de codificação:

Utilizarei como exemplo o código do Google Analytics, pois normalmente ele é replicado por várias páginas de um site, dessa forma o uso da custom tag se justifica.

Copie o código abaixo e salve-o na pasta “/wwwroot/projeto/customtags” (configurado no item 3 ou conforme o path que usar no seu sistema) com o nome de “googleAnalytics.cfm”:


<!--- Este if é utilizado para evitar uma segunda execução do código (no caso de abrir tag ..conteudo.. fechar tag) --->
<cfif not request.bInited >
 
	<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
	<script type="text/javascript">
		if ( typeof _gat != "undefined" ) {
			var pageTracker = _gat._getTracker("UA-XXXXXXX-X");
			pageTracker._initData();
			pageTracker._trackPageview();
		}
	</script>
 
</cfif>
 
<cfset request.bInited = true />

5 – Para “chamar/incluir” a custom tag em qualquer página cfm, basta usar o seguinte código:


<h1>Teste da Custom Tag</h1>
 
<!--- Chamando a custom tag --->
<cf_googleAnalytics />

Executando o arquivo resultará no seguinte código html:

 
<h1>Teste da Custom Tag</h1>
 
<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
<script type="text/javascript">
	if ( typeof _gat != "undefined" ) {
		var pageTracker = _gat._getTracker("UA-XXXXXXX-X");
		pageTracker._initData();
		pageTracker._trackPageview();
	}
</script>

Na maioria das vezes precisamos enviar ou utilizar alguns parâmetros, isso também pode ser implementado na custom tag. Tomemos o mesmo exemplo do Google Analytics, porém passando como parâmetro o número da conta

 
<!--- Este parâmetro irá receber o número da conta do Analytics --->
<cfparam name="attributes.conta" default="" />
<cfparam name="request.bInited"  default="false" />
 
<!--- Este if é utilizado para evitar uma segunda execução do código (no caso de abrir tag ..conteudo.. fechar tag) --->
<cfif not request.bInited >
 
	<script src="http://www.google-analytics.com/ga.js" type="text/javascript"></script>
	<script type="text/javascript">
		if ( typeof _gat != "undefined" ) {
			<!--- Aqui eu coloco o valor do atributo, recebido como parâmetro --->
			var pageTracker = _gat._getTracker("<cfoutput>#attributes.conta#</cfoutput>");
			pageTracker._initData();
			pageTracker._trackPageview();
		}
	</script>
 
</cfif>
 
<cfset request.bInited = true />

Para chamá-la:

 
<h1>Teste da Custom Tag</h1>
 
<!--- Chamando a custom tag passando o número da conta como parâmetro --->
<cf_googleAnalytics conta="UA-123456-7" />

É isso aí pessoal, até a próxima.

Att,
Anderson Straube

Tagged with:  

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *