Вы находитесь на странице: 1из 16

<TUTORIAL>

Cold Fusion - Tutorial para Programadores Introduo


Para comear a Seo sobre Cold Fusion decidi traduzir um Tutorial que achei na WebMonkey (uma seo da americana Wired), escrito por Charles Mohnike. Devo deixar bem claro que este tutorial para iniciantes em Cold Fusion, pois eu tambm sou um iniciante no assunto! Li os primeiros captulos e gostei da forma que o autor abordou o ColdFusion (CF). Leia! J vi que Cold Fusion bem mais fcil que ASP!

Viso Geral

Porqu voc quer aprender Cold Fusion? Como Charles dizia aos WebMasters, "if business likes, you love it" (se o mercado gosta, voc o amar). E os empresrios realmente amam Cold Fusion, pois esta interface Database-Web prov um mtodo simples e eficiente de fazer Web dinmica*. Neste tutorial, Charles se identifica com aqueles que se beneficiaro do Cold Fusion, ou seja, os WebMasters e Programadores. Ensinando os principais macetes de conexo ao banco de dados, identificando um Data Source no Server e fazendo as conexes necessrias para deixar o banco de dados pronto. Escrito especialmente para Programadores acostumados com os termos aqui adotados. Na Lio 2 voc aprender porque os Templates so a chave para usar o Cold Fusion. E Charles mostra como, utilizando apenas SQL, algumas linhas de cdigo simples, e algumas ordinrias tags HTML. Na Lio 3, Charles mostra algumas tcnicas avanadas para construo de Templates. Cobrindo tambm algumas tcnicas de Troubleshooting (problemas frequentes) e dicas para desenvolvedores.

Cold Fusion - Tutorial para Programadores Lio1 / Pgina 1 O que Cold Fusion?
Regra nmero 1 do WebMaster Quando um cliente potencial lhe pergunta se voc j trabalhou com o software XYZ, rodando na plataforma ABC, diga sim rapidamente e com grande convico. Ento corra para casa, ligue o computador, conecte-se na Internet, e descubra o que seu cliente estava falando. Eu passei por isso h dois anos, quando conheci um editor de livros, que usava um programa chamado Cold Fusion em seu site. A primeira vista, fiquei imaginando que seria necessrio um WebMaster com conhecimentos em Fsica Nuclear, mas uma rpida busca em um HotBot, revelou que Cold Fusion uma interface Database-to-Web que est se tornando muito popular entre empresrios que precisam trocar toneladas de informaes pela Internet. E esta a razo para que voc se interesse pelo assunto. Em outras palavras, "se o mercado gosta, voc deve am-lo!". Empresas com toneladas de informaes para colocar na Web reservam um oramento generoso para tal tarefa. E estas empresas inverstiro em quem apresentar um mtodo dinmico e coeso de construir Web sites, livres de bancos de dados bagunados. Cold Fusion uma ferramenta desenvolvida pela Allaire, que funciona nos Servidores de Web rodando Windows ou Solaris (e tambm pode ser usado em intranets, mas este tpico ser deixado para outro tutorial). Se voc administra seu prprio Servidor, voc pode instalar o pacote do Cold Fusion nessa mesma mquina; se seu site est em um provedor externo, voc precisar convenc-los a comprar e instalar o Cold Fusion. Atualmente existe um srie de provedores que j oferece o servio, sem custo adicional nenhum (i.e., a Locaweb um caso).

Uma vez instalado, voc acessar banco de dados atravs dos Templates do Cold Fusion, os quais se mostraro muito semelhantes a pginas HTML comuns. A diferena que voc pode criar um simples Template e servir toneladas de informaes dinamicamente, ao invs de criar uma pgina separada para cada item.

Cold Fusion - Tutorial para Programadores Lio1 / Pgina 2 Quem precisa do Cold Fusion?
A menos que seu site seja bem simples, voc poder afirmar com segurana que economizar muitas horas de programao em Cold Fusion. Entretanto, a questo se isso compensar seu gasto com software ou com taxas extras do servio de hospedagem. Abaixo temos um teste para voc descobrir se seu site precisa de Cold Fusion. Voc ou seu cliente mantm bases de dados que vocs gostariam de disponibilizar na Internet? O resto do mundo realmente precisa acessar suas informaes? Seu site precisa de atualizaes frequentes? Como novos produtos, calendrio de eventos, ou a conhecida seo: "What's New" (novidades do site)? Voc vende coisas pela Internet? Voc o equivalente eletrnico de um rato de poro, que guarda tudo que v pela frente, para referncia futura? Voc ou seu cliente tm toneladas de documentos texto que precisam ser disponibilizados na Web ou Intranet? Voc gosta de gastar horas navegando na Internet ao invs de terminar o site que voc est desenvolvendo? Voc est fazendo isto exatamente agora e ainda est se justificando, pensando que est melhorando suas habilidades lendo este tutorial? Seu site abriga Banners de anunciantes? Seu site utiliza figuras baseadas em programao, como grficos de total de produtos? Se voc respondeu "sim" para a maioria das perguntas voc um forte candidato a usar o Cold Fusion. Siga em frente!

Cold Fusion - Tutorial para Programadores Lio1 / Pgina 3 Instalando o Cold Fusion e Definindo um Data Source
Instalar o pacote do Cold Fusion definitivamente simples. E se voc um programador avanado, que est ganhando de sua empresa a senha de administrador do Servidor, ento voc no ter problemas. O instalador ir lhe perguntar algumas coisas como, onde voc quer instalar os arquivos, qual Servidor de Web voc est usando, qual programa voc usa para criar os bancos de dados etc. E se alguma dessas coisas te confundem, melhor que voc arrume uma pessoa mais experiente para lhe auxiliar nestes procedimentos. Aps a instalao o computador dever ser reiniciado. Se voc no for o administrador do sistema, tenha certeza que antes de reiniciar voc tenha acesso a alguns recursos especiais do sistema, para poder fazer o servio voltar a funcionar corretamente (como parar e recomear determinados processos, apagar aquele Route etc). Os melhores administradores de sistema anotam esses detalhes para que outras pessoas possam reiniciar o servidor. Consulte seu WebMaster!

Agora voc est pronto para definir seus Data Sources no Cold Fusion. A verso mais atual do software, utiliza uma interface de Web Pages para fazer isso. As verses mais antigas do Cold Fusion utilizam o sistema de Dialog Box do Windows. Ambos mtodos podem ser encontrados sob o cabealho do Cold Fusion Administrator. Um Data Source (DSN) uma base de dados que voc quer disponibilizar na Web. Se voc est rodando sua prpria cpia do Cold Fusion em seu Servidor, voc ter muitas opes para disponibilizar o banco de dados. Mas se seu site est hospedado em um Servidor externo, provavelmente voc ter uma nica maneira de fazer isso, utilizando DSN. A configurao realmente fcil. Apenas aponte o software Administrator do Cold Fusion para o banco de dados a ser utilizado. E se o banco de dados reside em um outra mquina diferente, lembre-se de configurar o login e a senha de permisso. Dependendo do software de banco de dados que voc esteja usando, a configurao pode ser feita internamente.

Cold Fusion - Tutorial para Programadores Lio1 / Pgina 4 Examinando seu Banco de Dados
Examinar o Banco de Dados a tarefa de "aparar arestas" do WebMaster. muito importante que voc procure erros que podem confundir o Cold Fusion depois. Algumas dicas: Nomes de Campos no podem conter espaos. Use o caractere Underscore ("_"), como exemplo: utilize novos_itens ao invs de novos itens. Se o banco de dados foi configurado por outra pessoa, convena-a que reescrever as Querys e Macros, vale a pena. Use Campos "Chave" (Key Fields). A maioria dos programas j os configura automaticamente quando voc cria uma nova tabela. As "Chaves" iro reduzir consideravelmente os recursos de CPU utilizados pelo Cold Fusion para pesquisar no banco de dados. Divida, divida e divida! No Cold Fusion voc pode configurar diversos DSN's, como voc desejar. Utilize esta facilidade para "quebrar" suas tabelas entre diversos bancos de dados e crie DSN's individuais para cada um deles. Isto poupar recursos de memria e disco. Verifique as permisses de cada tabela do seu banco de dados. E tenha certeza que todas elas tm permisso de leitura para o usurio que o Servidor usa para login. Voc tambm precisa lembrar de configurar as tabelas que necessitam de permisso de escrita. Tenha certeza que seus bancos de dados, tabelas e DSN's foram nomeados corretamente e seguindo um padro que todos no seu ambiente de trabalho estejam acostumados. Assim, se amanh voc for atropelado por um nibus, os outros possam continuar seu trabalho. E se os seus campos possuem grande quantidade de texto, voc provavelmente sentir necessidade de inserir algumas tags HTML para controlar Negritos, Tipos de Fontes, Itlicos, enfim, formatao em geral.

Lio1 / Pgina 5 Reviso


Ns vimos uma srie de pormenores nesta primeira lio. Em resumo, vimos o seguinte: Como convencer seu cliente/chefe que voc fera em um assunto que voc no tem a menor idia de que se trata Para que serve o Cold Fusion e como ganhar algum dinheiro programando Quem pode se beneficiar e quem precisa gastar algum dinheiro para desenvolver tecnologias para Web, utilizando Cold Fusion Como instalar o Cold Fusion e configurar um DSN Verificando o banco de dados para que ele fique num formato compatvel com o Cold Fusion Na prxima lio, aprenderemos como criar os Templates do Cold Fusion, alguns conceitos bsicos da SQL (Structure Query Language), e os comandos (tags) do Cold Fusion. At l porque voc no vai dar uma andada para relaxar?!

Lio2 / Pgina 1 Templates do Cold Fusion


Bom, se voc j leu a Lio 1, agora voc deve estar louco para saber o que so os Templates do Cold Fusion. Ento relaxe e continue lendo. Todas as suas dvidas sero respondidas agora. Os Templates so o "corao" do Cold Fusion. Uma vez que voc j estiver dominando os conceitos bsicos, voc perceber que seu tempo render bem melhor! Essencialmente, um Template um HTML normal com algum cdigo extra de Cold Fusion, inserido antes da tag <HEAD>. Este cdigo diz ao Cold Fusion qual o Data Source que voc deseja acessar e prepara as variveis que sero utilizadas dentro do HTML. Os Templates utilizam a extenso .CFM (na verso mais recente) ou .DBM (em verses anteriores 3.0). Verses anteriores do Cold Fusion necessitam que os Templates sejam gravados em um diretrio especfico, configurado no Cold Fusion Administrator. Entretanto as verses atuais permitem que voc guarde seus Templates em qualquer lugar do seu site. Exatamente por esse motivo, trate de nomear os Templates corretamente, com nomes sugestivos, para que voc mesmo no se perca depois. Cold Fusion tem um programa chamado CF Studio que prov uma interface amigvel para voc construir seus Templates. De qualquer forma, voc pode construir os Templates em um editor de texto qualquer, como o NotePad, por exemplo.

Lio2 / Pgina 2 Aprendendo a Usar os Templates


Vamos comear aprendendo a construir um Template bsico. Vamos assumir que temos um Data Source configurado como contents_of_my_pocket e que este Data Source um banco de dados Access chamado contents_of_my_pocket.mdb. Ento este banco de dados tem uma nica tabela chamada Contents, e temos trs campos definidos como: Item, Acquired e Value. Bom, se voc deseja construir uma pgina HTML que apresente os tens (campo Item) do banco de dados, assim como a data que foram comprados (campo Acquired), e os respectivos preos (campo Value), o topo do seu Template se parecer com este: <CFQUERY NAME="pocket" DATASOURCE="contents_of_my_pocket"> SELECT * FROM Contents </CFQUERY> Este cdigo acima faz o Cold Fusion consultar seu Data Source: NAME: o nome da Query. Pode ser qualquer palavra que voc quiser. Este nome ser acessado pela tag CFOUTPUT, descrita abaixo. E permite que voc configure mais de um Data Source por Template. Ou seja, este nome a palavra chave para que o Cold Fusion saiba de qual Query voc est consultando. DATASOURCE: o nome da sua DSN, exatamente como voc definiu no Administrator do Cold Fusion SELECT: um comando SQL (veremos estes comandos na prxima seo). Este comando diz ao Cold Fusion quais registros voc deseja selecionar e em qual tabela eles se encontram. Neste caso utilizamos o smbolo "*" para indicar que precisamos de todos os trs campos da tabela Contents. Agora, abaixo, temos como acessar os dados fornecidos pela Query criada acima: <HEAD> <TITLE>Contents Of My Pocket</TITLE> </HEAD> <BODY> <P><H1>Contedo da Tabela Contents</H1></P> <CFOUTPUT QUERY="pocket">

<P><B>#Item#</B><BR> #Acquired#<BR> #Value#</P> </CFOUTPUT> </BODY> </HTML> As variveis no nosso exemplo de Template so os nomes includos entre as tags "#". Note que eles esto escritos exatamente como no banco de dados contents_of_my_pocket.mdb. Ns podemos usar essas variveis em qualquer parte do HTML, desde que estejam dentro das tags <CFOUTPUT>. CFOUTPUT diz ao Cold Fusion que estamos nos referindo a variveis da Query nomeada no incio do Template. Note tambm as tags HTML de negrito dentro da tag <CFOUTPUT>. Voc pode utilizar HTML esttico para formatar as sadas dinmicas do Cold Fusion. Se um usurio acessar este exemplo de Template do seu browser, ele ver o alguma coisa assim:

Contedo da Tabela Contents


One Bouncy Ball with Psychedelic Markings 12 December 1998 25 cents Half of a Cheese Sandwich 14 December 1998 25 cents A Bus Transfer 14 December 1998 75 cents One Plastic Baggie, Empty 12 December 1998 $50 (when full) A Ticket for Having an Unleashed Dog in the Park 12 December 1998 -$75 A Picture of Cyndi Lauper Torn from The Star 15 December 1998 $0 O Cold Fusion executa a tag <CFOUTPUT> at que todos os registros solicitados pelo SELECT, na Query, sejam exibidos (no caso do nosso exemplo, todos os registros do banco de dados).

Lio2 / Pgina 3 Comandos SQL


Aqui neste Tutorial no temos espao para ensinar toda a "mgica" do SQL, portanto se voc no est acostumado com os comandos da SQL, pegue um Tutorial mais elaborado sobre o assunto (veja link mais abaixo). SQL uma linguagem de consulta bases de dados, que funciona com a maioria dos programas de banco de dados. Entretando a Microsoft, a seu modo, acrescentou comandos a essa linguagem (consulte seus manuais se voc estiver usando MS Access). Resumindo, SQL um mtodo para selecionar determinados registros de um banco de dados, seguindo um critrio especificado a sua escolha. Por exemplo, vamos dizer que voc deseja selecionar registros da tabela Contents do seu banco de dados hipottico chamado

contents_of_my_pocket.mdb. Para nossos propsitos, digamos que voc deseja selecionar apenas os registros que foram adquiridos no dia 12 de Dezembro de 1998. O comando SQL do Template que estamos exemplificando aqui ficaria assim: <CFQUERY NAME="pocket" DATASOURCE="contents_of_my_pocket"> SELECT * FROM Contents WHERE Acquired IS "12 Dezembro 1998" </CFQUERY> Esta Query diz ao Cold Fusion para selecionar todos os registros (*) da tabela Contents que sigam o critrio estabelecido, ou seja, todos os registro adquiridos em 12 de Dezembro de 1998. Se esta Query fosse usada no exemplo da Pgina 2 desta Lio, voc teria uma lista com apenas trs itens. Geralmente, SQL usa o termo "IS" para pesquisar campos de texto, e o termo "=" para testar igualdade de campos contendo nmeros. Vamos dizer que voc deseje ser menos seletivo e queira ver todos os itens adquiridos no ms de Dezembro: <CFQUERY NAME="pocket" DATASOURCE="contents_of_my_pocket"> SELECT * FROM Contents WHERE Acquired LIKE "Dezembro%" </CFQUERY> O termo "LIKE" diz ao Cold Fusion para pesquisar pelos registros que comecem com o texto Dezembro, seguido por qualquer dia ou data. O smbolo "%" o curinga do SQL. No exemplo acima, indica que no importa o que venha depois da palavra Dezembro. "LIKE" quase sempre usado em conjunto com um curinga (%). Da mesma forma, voc poderia selecionar todos os itens adquiridos em 1998, usando o seguinte: <CFQUERY NAME="pocket" DATASOURCE="contents_of_my_pocket"> SELECT * FROM Contents WHERE Acquired LIKE "%1998" </CFQUERY> Ou se voc quiser selecionar apenas os registros que tenham a letra "b" em seus nomes. Sua Query ficaria assim: <CFQUERY NAME="pocket" DATASOURCE="contents_of_my_pocket"> SELECT * FROM Contents WHERE Item LIKE "%b%" </CFQUERY> Os exemplos acima abordam apenas os conceitos mais bsicos da SQL. Se voc achar que precisa de um controle melhor selecionando registros, pegue um Tutorial sobre os Comandos do SQL na pgina de Tutoriais ASP. Agora, na prxima pgina, veremos mais detalhes da tag <CFOUTPUT>. Siga em frente!

Lio2 / Pgina 4 Mais Sobre CFOUTPUT


Esta Lio lhe trar o "pulo do gato" do Cold Fusion. Pois aqui voc vai aprender a controlar o modo como os dados selecionados pela Query sero apresentados no HTML. Tudo que voc precisa uma (ou mais) tag(s) <CFOUPUT> e o nome da Query que voc definiu no topo do seu documento: <CFOUTPUT QUERY="pocket"> Uma vez que voc tenha definido isso, sinta-se livre para brincar com as variveis. E voc ainda pode usar qualquer formatao HTML dentro da <CFOUPUT>, mas lembre-se que tudo que estiver dentro dessa tag ser repetido at que os registros por voc selecionados sejam exibidos. Por exemplo, voc no vai querer utilizar um cdigo assim... <CFOUTPUT QUERY="pocket"> <H1>Items in Pocket</H1> #Item#<p> </CFOUTPUT> ... pois a sada HTML deste cdigo acima seria algo assim:

Items in Pocket
One Bouncy Ball with Psychedelic Markings

Items in Pocket
Half of a Cheese Sandwich

Items in Pocket
A Bus Transfer etc.... Voc no precisa deste tipo de trauma na sua vida. Uma linha de cabealho seria mais que suficiente, ento voc deve coloc-la antes da tag <CFOUPUT>. Assim o cabealho no ser repetido para cada registro apresentado, assim: <H1>Items in Pocket</H1> <CFOUTPUT QUERY="pocket"> #Item#<p> </CFOUTPUT> E o resultado desse cdigo seria:

Items in Pocket
One Bouncy Ball with Psychedelic Markings Half of a Cheese Sandwich A Bus Transfer etc.... Entretanto voc pode formatar as variveis de todo jeito possvel em HTML. Vamos dar um pouco mais de realce para a listagem, colocando o nome de cada item em negrito. <CFOUTPUT QUERY="pocket"> <B>Item: #Item#</B><BR> Adquirido: #Acquired#<BR> Valor: #Value#<P> </CFOUTPUT> Cada registro sairia como mostrado abaixo:

Item: One Bouncy Ball with Psychedelic Markings Adquirido: 12 December 1998 Valor: 25 cents
O Cold Fusion tambm tem tags especiais que iro ajud-lo na formatao. Continue lendo e voc ver o poder do Cold Fusion!

Cold Fusion - Tutorial para Programadores Lio2 / Pgina 5 CFIF e CFELSE


Voc ficar feliz em saber que o Cold Fusion faz mais que apenas apresentar alguns campos de um banco de dados. Ele tambm esconde uma srie de segredos que tornam a linguagem muito poderosa e til!

A documentao do Cold Fusion inclui um manual completo sobre a sintaxe de todas as tags, e instrues para voc criar suas prprias. O suporte da Allaire, oferece vrios links para tags desenvolvidas por usurios do Cold Fusion; algumas so gratuitas, outras no. Note que se voc estiver usando uma verso antiga do Cold Fusion, algumas tags no funcionaro por terem comandos que podero no ser suportados, a no ser na verso recente. Vamos aprender agora as tags <CFIF> e <CFELSE>. Vamos adicionar na nossa tabela Contents um novo campo chamado Picture. Este novo campo conter uma URL, que apontar para um determinado lugar no site, onde estaro guardadas as ilustraes de cada item. Se ns quisermos apenas apresentar cada figura abaixo do texto descritivo de cada item, teremos o seguinte: <CFOUTPUT QUERY="pocket"> Item: #Item#<BR> <IMG SRC="#Picture#"><BR> </CFOUTPUT> At a nenhum problema, pois o Cold Fusion no se importa que suas variveis estejam embutidas nas tags HTML. Para exemplificar, vamos dizer que alguns itens do banco de dados tenham figura e outros no. Assim, na nossa tabela Contents, alguns registros teriam o campo Picture vazio. Nesse caso, nosso exemplo acima imprimiria algumas figuras "quebradas"...

... e ns no queremos isso. Ento vamos deixar que as tags <CFIF> e <CFELSE> verifiquem quais registros possuem figura ou no. <CFOUTPUT QUERY="pocket"> Item: #Item#<BR> <CFIF #Picture# EQ ""> <IMG SRC="sem_figura.jpg"><BR> <CFELSE> <IMG SRC="#Picture#"><BR> </CFIF> </CFOUTPUT> O que ns fizemos acima foi configurar um teste condicional que verifica nosso campo Picture. Tomando uma deciso se o campo estiver vazio (NULL), ou outra se existir texto no campo. Nos registros que apresentarem o campo Picture vazio, o cdigo acima imprime uma figura padro, ou seja: sem_figura.jpg. Esta figura pode ser um "Under Construction", um elefante cor-de-rosa com bolinhas amarelas, ou o que voc quiser... Se voc quiser que no aparea figura nenhuma, deixe a linha aps o <CFIF> vazia. O teste condicional executado pelo <CFIF> no precisa ser necessariamente uma verificao de NULL ou NOT NULL. Podem ser usados vrios mtodos de condio, mas este exemplo j d uma idia de como funciona o <CFIF>, certo?

Cold Fusion - Tutorial para Programadores Lio2 / Pgina 6 Reviso


Por ora, eu espero que voc j esteja desenvolvendo seus Templates por conta prpria, e ns aprendemos nessa Lio: O que um Template do Cold Fusion (.cfm) e como economizar tempo programando O que SQL e como consultar um banco de dados a partir de um Template do Cold Fusion Onde encontrar maiores informaes sobre a linguagem SQL Como usar a tag <CFOUTPUT> e como mescl-la ao HTML Cold Fusion Agora voc j pode dormir tranquilo at amanh. E se voc estiver no escritrio, abra seu Excel, coloque uma mo sobre o mouse e, com a outra mo, afague seu cabelo, como se estivesse preocupado trabalhando. Nigum perceber que voc perdeu 20 minutos lendo isto! Na prxima Lio veremos alguns truques para se construir Templates avanados e alguns sobre troubleshooting (problemas frequentes).

E como usar as tags <CFIF> e <CFELSE> para controlar os resultados das variveis do

Cold Fusion - Tutorial para Programadores Lio3 / Pgina 1 Um Pouco Mais Sobre Templates
Na Lio 1 e 2 deste Tutorial, ns utilizamos o Cold Fusion para apresentar os registros de um banco de dados simples. Nesta lio, vamos criar um novo banco de dados hipottico para que possamos demonstrar algumas funes de classificao do Cold Fusion. Vamos dizer que nosso segundo banco de dados se chama links_to_bad_sites.mdb e que j definimos uma DSN chamada links_to_bad_sites no Administrator do Cold Fusion. Neste banco de dados existe uma nica tabela chamada Links, que contm nomes, URL's e descries dos piores Sites encontrados na Net. Existe tambm um campo que indica a data em que o registro foi adicionado ao banco de dados. Agora, complicando um pouco as coisas, vamos supor que estamos construindo um Template para uma seo "What's New" do nosso site. Ns provavelmente chamaremos esta pgina de whats_new.cfm, ou por questes de segurana, poderemos cham-la de aAEr348u234.cfm, como vc quiser... Ns queremos que nossa seo "What's New" liste apenas os sites cadastrados em Dezembro e em ordem alfabtica pelo nome do site. Nossa consulta ao banco de dados seria mais ou menos assim: <CFQUERY NAME="new_links" DATASOURCE="links_to_bad_sites"> SELECT * FROM Links WHERE Date IS LIKE "December%" ORDER BY Name ASC </CFQUERY> Voc j deve estar acostumado com a sintaxe da consulta SQL acima, exceto pela instruo ORDER BY. Esta instruo define que os registros sejam organizados por uma ordem determinada. No exemplo acima estamos utilizando a ordem ascendente (ASC). Mas voc pode tambm utilizar a ordem descendente (DESC). Se voc no especificar ASC ou DESC, o Cold Fusion assumir como ascendente. Com a consulta criada, a seo <CFOUTPUT> do nosso Template ficaria assim: <HTML> <H3>Sites Realmente Ruins Cadastrados em Dezembro</H3> <CFOUTPUT QUERY="new_links"> Nome do Site: #Name#<BR> URL: <A HREF="#URL#">#URL#</A><BR> Descrio: #Description#<P> </CFOUTPUT> Repare que, no cdigo acima, a varivel URL impressa duas vezes. Ou seja, colocamos a URL dentro da tag HTML <A HREF> de forma que esta fique "linkada". Em uma outra ocasio poderamos querer apresentar apenas os dois primeiros sites cadastrados em Dezembro. Para isso podemos utilizar a especificao MAXROWS dentro da tag <CFOUTPUT>, assim: <CFOUTPUT QUERY="new_links" MAXROWS="2"> ... e o resto da programao do <CFOUTPUT> permaneceria o mesmo. Este exemplo acima geraria o seguinte resultado HTML:

Two Really Bad Sites Found in December


Site Name: Ideagirl's Homepage URL: http://i.am/bitchfromhell Description: Ideagirl must have really studied the list of "Top Ten Things NOT to Do on Your Web Site," because she takes great pains to use all of them here: blinking text, unreadable text colors, loads of animated GIFs stolen

from other sites, MIDI files on every page, and lots of endless blathering about nothing at all. We recommend it highly. Site Name: Unincorporated Society of Plastic Sheep (USPS) URL: http://www.plastic-sheep.org/index.html Description: This is the tale of a boy, Rob, and his plastic sheep named Barbara. The site expresses Barbara's hurt feelings resulting from Rob's boorish treatment. You'll also find a list of Barbara's favorite links if you elect to stay that long. Four stars! Agora voc j sabe como selecionar, classificar, formatar e limitar dados nos Templates do Cold Fusion. A seguir, veremos algumas tcnicas mais avanadas. Continue lendo!

Cold Fusion - Tutorial para Programadores Lio3 / Pgina 2 Cabealhos e Rodaps


Na verdade, o Cold Fusion uma ferramenta muito poderosa para salvar seu tempo, automatizando tarefas repetitivas. Se voc est gastando seu prprio tempo lendo este Tutorial, compreensvel que voc esteja esperando que eu lhe ajude a gastar menos horas desenvolvendo sites. Eu tentarei no desapont-lo. Quando estava desenvolvendo o site do editor de livros (citado na Lio 1), eu utilizei uns 15 ou 20 Templates do Cold Fusion para publicar as informaes de 3 banco de dados relativamente grandes. Ou seja, eu fui capaz de construir um site, que para o internauta poderia parecer monstruoso, em pouqussimo tempo. Ento fiquei imaginando se no existia um jeito de criar atalhos para os prprios atalhos. Ento, analizando o mapa do site, percebi que a maioria dos Templates conteriam informaes similares. Cada um deles deveria ter um banner anunciante, um Image Map no cabealho e uma barra de menu-texto no rodap, como este: HOME | OUR CATALOG | ORDERING INFO | LINKS Um Webmaster experiente resolveria estes problemas com alguma coisa como Server-Side Includes, mas o Cold Fusion oferece uma soluo muito boa para resolver estes problemas. Eu adicionei uma tabela chamada HTML a um dos bancos de dados, our_stuff.mdb. Eu tambm configurei uma DSN chamada our_stuff. Nesta tabela eu criei campos para Nome (Name) e Cdigo (Code). No Template, eu usei trs consultas (Query's), uma para cada bloco de cdigo que eu quero que aparea na pgina: <CFQUERY NAME="banner_ad" DATASOURCE="our_stuff"> SELECT Code FROM Html WHERE Name IS "banner_ad" </CFQUERY> <CFQUERY NAME="top_navigation_imagemap" DATASOURCE="our_stuff"> SELECT Code FROM Html WHERE Name IS " top_navigation_imagemap " </CFQUERY> <CFQUERY NAME="bottom_navigation_bar" DATASOURCE="our_stuff"> SELECT Code FROM Html WHERE Name IS "bottom_navigator_bar" </CFQUERY> Ento as tags CFOUTPUT ficam assim: <HTML> <CFOUTPUT QUERY="banner_ad"> #Code# </CFOUTPUT> <CFOUTPUT QUERY="top_navigation_imagemap"> #Code# </CFOUTPUT> <!-- Aqui vai o contedo da pgina HTML --> <CFOUTPUT QUERY="bottom_navigator_bar"> #Code#

</CFOUTPUT> </HTML> Eu salvei este Template como read-only (apenas leitura) para us-lo como matriz de todas as pginas do site. Ento, a cada novo Template, eu comecei utilizando esta pgina, salvando com outro nome. Este sistema muito til, pois se eu decidir atualizar os links ou acrescentar um mailto: no rodap por exemplo, s atualizar o campo Code do banco de dados com o cdigo necessrio para fazer isso. Ou ento se a empresa no gostar do Image Map que criei, simplesmente posso alterar o cdigo no campo do banco de dados... Assim eu atualizo o site inteiro apenas mudando algumas linhas de cdigo nos campos do banco de dados. Na prxima pgina aprenderemos quais providencias tomar caso alguma coisa saia errado e as pginas no funcionem (famoso troubleshooting).

Cold Fusion - Tutorial para Programadores Lio3 / Pgina 3 Testando e Resolvendo Problemas
Antes de mais nada, voc deve lembrar de acessar suas pginas .CFM via Web Server e no como arquivo. Ou seja, no browser voc deve digitar alguma coisa como, http://seu_dominio/algum_template.cfm ao invs de file://c:\web_site\algum_template.cfm. Cold Fusion s funciona em conjunto com um Web Server. Isto parece bvio, mas quando voc est programando feito um louco e alternando entre os programas com o Alt+Tab, bem comum que voc se esquea disso... E antes que voc se desespere, fique atento a esses detalhes. Se voc estiver usando um provedor para hospedar seu site, no se esquea de dar upload da pgina alterada antes de acess-la. Se voc tiver cometido algum erro no cdigo, o Cold Fusion lhe retornar um erro. Os erros mais comuns veem de comandos SQL digitados errados. Se acontecer com voc, lembre-se de verificar as aspas ("), apostrofes (') e se alguma varivel est retornando valor nulo. Isso acontece muito tambm. E verifique tambm se os Campos e nome da Tabela esto corretos com os digitados no banco de dados. Uma "vrgula" fora do lugar o suficiente para estragar tudo... Outra situao quando o Cold Fusion apresenta apenas o cabealho da sua pgina, mas no apresenta o resto, parando o processamento. Isso ocorre quando o Cold Fusion processa a CFQUERY sem encontrar erros, mas alguma coisa o faz travar ao ler a tag CFOUTPUT. Utilize o comando "View Source" (visualizar cdigo-fonte) do seu Browser e voc ver o erro do Cold Fusion inserido no cdigo HTML. As mensagens de erro do Cold Fusion so encriptadas, ou seja, quando algum erro ocorrer, a mensagem referente a esse erro poder ser, a primeira vista, complexa. Mas, com o tempo, voc vai se acostumando e as mensagens de erro no parecero "bichos de sete cabeas". Como j foi dito antes, este tutorial abrange apenas tpicos bem simples sobre Cold Fusion. Entretanto uma vez que voc comee a programar realmente, as idias comecaro a borbulhar na sua cabea. Principalmente a noite, durante o sono. Por esse motivo voc com certeza precisar se aprofundar mais no assunto. Na prxima pgina veremos alguns recursos interessantes para que voc vire um craque em Cold Fusion.

Cold Fusion - Tutorial para Programadores

Lio3 / Pgina 4 Maiores Informaes Sobre ColdFusion


O Cold Fusion completo vem com um Manual HTML, mas este o tipo de programa que s se aprende realmente na tentativa e erro. Provavelmente o recurso que voc mais consultar ser o CFML Language Reference, que uma enorme lista de tags, funes do Cold Fusion e comandos JavaScript. Voc encontrar outros documentos no Developer Site da prpria Allaire. A Allaire tambm oferece um Frum de Suporte. L voc encontrar o maior nmero de Nerds especialistas em Cold Fusion para responder s suas dvidas. A documentao do Cold Fusion assume que voc est familiarizado com a linguagem SQL. Se voc no estiver, consulte um Tutorial sobre SQL.

Cold Fusion - Tutorial para Programadores Lio3 / Pgina 5 Reviso


Nesta ltima Lio aprendemos tcnicas para aumentar sua produtividade programando em Cold Fusion, incluindo: Como selecionar, filtrar, formatar e limitar registros nos Templates do Cold Fusion; Como criar cabealhos e rodaps dinmicos, que lhe permitiro trocar o visual do seu site inteiro em poucos segundos; E como resolver problemas nos Templates e onde recorrer por ajuda quando nada mais funciona. Boa sorte no Cold Fusion. Daqui por diante por sua conta!
Charles Mohnike um tecnlogo, escritor e co-fundador da Zapt Digital Media, uma empresa de publicidade new media.

Вам также может понравиться