A sua loja Virtual - Estrutura e Funcionamento da página principal
Agora vamos mostrar a nossa loja virtual em funcionamento e explicar os principais conceitos empregados nos arquivos de scripts ASP utilizados.
Para criar uma loja virtual usando ASP .NET acompanhe o curso no link : ASP .NET - Criando um site completo com carrinho de compras (Curso)
|
Criando a estrutura da página principal - Index.htm
O arquivo index.htm é o arquivo que inicia o site da loja virtual ele é um arquivo que possui código html/dhtml e scripts JavaScript. Para visualizar como a página foi construída abra-a usando o FrontPage . Sua estrutura foi montada usando tabelas. A estrutura principal da página index.htm é composta pelos seguintes elementos:
Para construir o formulário usado na página index.htm siga o roteiro:
Inserindo as opções no menu suspenso |
Informe o nome do campo na caixa de texto Nome e clique no botão Adicionar para inserir as opções conforme mostra a figura. Pronto os campos do formulário usado no arquivo index.htm estão criados.
Iniciando a loja virtual
Inicie o Internet Explorer ou Netscape e na caixa de texto Endereço informe o nome do seu servidor virtual seguido da localização dos arquivos usados. Para o exemplo do livro foi utilizado o nome http://macorati/loja - onde macorati é o nome do servidor virtual da máquina onde nosso site foi testado e loja o nosso diretório de trabalho.
Assim , você verá o endereço http://macorati/loja em todos os exemplos do livro. Você deve ajustar o endereço para o utilizado em sua máquina.
A tela inicial gerada por index.htm é a seguinte:
Fig 1.0 - Tela Inicial da Loja Virtual |
Embora seja uma página simples , podemos encontrar nela as principais características de uma página para Loja Virtual:
O código do arquivo de script index.htm é o seguinte:
<HTML><HEAD><TITLE>a sua loja virtual</TITLE> <META content="text/html; charset=windows-1252" http-equiv=Content-Type> <META content="Microsoft FrontPage 4.0" name=GENERATOR><STYLE>.copyright { COLOR: #ced6e8; FONT-WEIGHT: normal; TEXT-DECORATION: none } <STYLE> .branco {COLOR: #ffffff; FONT-WEIGHT: normal; TEXT-DECORATION: none } .preto {COLOR: #000000; FONT-WEIGHT: normal; TEXT-DECORATION: none } A:hover {TEXT-DECORATION: underline} </STYLE> </HEAD> <BODY bgColor=#ffffff link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF"> <TABLE border=0 cellPadding=1 cellSpacing=0 width="654"> <TBODY> <TR> <TD bgcolor="#FFFFFF" width="650"> <p align="center"><b><font color="#008080" size="5" face="Verdana">JcmSoft - A sua Loja Virtual</font></b> </TD></TR> <tr> <TD align=middle bgColor=#008080 width="650"> <p align="center"><B><FONT color=#FFFFFF face=arial size=-2>Copyright JcmSoft. Todos os direitos reservados</FONT></B></p> </TD> </tr> <TR> <TD bgcolor="#FFFFFF" width="650"> </TD></TR></TBODY></TABLE> <TABLE border=0 cellPadding=0 cellSpacing=0 width="654"> <TBODY> <TR> <TD bgColor=#008080 vAlign=top width=131 rowspan="2"> <SCRIPT language=JavaScript> /************************************************ * function isEmpty * Verifica se um campo está vazio ************************************************/ function isEmpty(s) { return ((s == null) || (s.length == 0)); } /************************************************ * function AvisoInvalido * Gera um alert para o usuário * volta o foco p/campo * Parâmetros: theField - campo do formulário com problema * warnText - texto a ser mostrado no alert ************************************************/ function AvisoInvalido (theField, warnText) { theField.focus() theField.select() alert(warnText) return false } /************************************************ * function valida * Faz a validação do formulário preenchido ************************************************/ function valida() { var tamanho_pesquisa = new String() tamanho_pesquisa = document.pesquisa.id.value if(tamanho_pesquisa.length < 2) { avisoInvalido(document.pesquisa.id,'ATENÇÃO: Sua pesquisa deve conter no mínimo 2 caracteres!\n\n'); return false; } } </SCRIPT> <SCRIPT> function pesquisa(){ window.open('ajuda.htm','explica','toolbar=no,location=no,directories=no,status=no,menubar=no,_ scrollbars=no,resizable=no,copyhistory=no,width=270,height=310,top=40,left=150'); } </SCRIPT> <TABLE border=0 cellPadding=0 cellSpacing=0 width=131> <FORM action=catalogo.asp method=POST name=pesquisa onsubmit="return valida()"> <TBODY> <TR> <TD align=middle colSpan=2 width=120><A href="javascript:pesquisa()"><IMG border=0 src="tit_pesquisa.gif" vspace=7 width="109" height="13"></A></TD> </TR> <TR> <TD><IMG border=0 height=59 src="../transp.gif" width=1></TD> <TD align=middle> <TABLE border=0 cellPadding=1 cellSpacing=0 width=105> <TBODY> <TR> <TD colSpan=2><INPUT name=id size=13></TD></TR> <TR> <TD><SELECT name=categoria size="1"> <OPTION selected>Todos<OPTION>Autor<OPTION>Assunto <option>Titulo</option> </SELECT></TD> <TD vAlign=bottom><INPUT border=0 src="bt_ok.gif" type=image width="19" height="19"></TD></TR></TBODY></TABLE></TD></TR> </FORM></TBODY></TABLE><BR> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="100%"> <hr color="#FFFFFF"> </td> </tr> <tr> <td width="100%"> <p align="center"><b><font face="Verdana" size="1" color="#FFFFFF"> <a href="http://macorati/loja/identifica.asp">Cadastro</a></font></b></td> </tr> <tr> <td width="100%"> <hr color="#FFFFFF"> </td> </tr> <tr> <td width="100%"> <p align="center"><b><font face="Verdana" size="1" color="#FFFFFF"><a href="http://">Contato</a></font> </b></td> </tr> <tr> <td width="100%"> <hr color="#FFFFFF"> </td> </tr> <tr> <td width="100%"> <p align="center"><b><font face="Verdana" size="1" color="#FFFFFF"> <a href="http://macorati/loja/novidades.asp">Lançamentos</a> </font></b></td> </tr> <tr> <td width="100%"> <hr color="#FFFFFF"> </td> </tr> </table> </TD> <TD vAlign=top width="403" bgcolor="#FFFFFF" rowspan="2"> <p> </p> <p> </p> <p> </p> <p> </p> <p> <p> </TD> <TD vAlign=top width="116" bgcolor="#808080"> <p align="center"><font face="Verdana" size="1" color="#FFFFFF"><span style="background-color: #008080"> <b>lançamento</b> </span></font></p> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="100%"> <p align="center"><img border="0" src="aprenda_asp.gif" width="98" height="250"></td> </tr> <tr> <td width="100%"> <p align="center"><font face="Verdana" size="1" color="#FFFFFF">Série Aprenda Rápido</font></td> </tr> </table> </TD> </TR> <TR> <TD vAlign=top width="116" bgcolor="#808080"> </TD> </TR></TBODY></TABLE> </BODY></HTML> <script language="JavaScript"> <!-- // Coloca foco no primeiro campo do formulário document.pesquisa.id.focus(); // --> </script> |
Para facilitar a compreensão e a identificação do código iremos usar a seguinte notação nos código exibidos:
Vamos analisar as partes principais do código usado no nosso arquivo index.htm:
1-) O código abaixo é codigo DHTML onde definimos um estilo para o nosso texto:
} <STYLE> .branco {COLOR: #ffffff; FONT-WEIGHT: normal; TEXT-DECORATION: none } .preto {COLOR: #000000; FONT-WEIGHT: normal; TEXT-DECORATION: none } A:hover {TEXT-DECORATION: underline} </STYLE> |
2-) A seguir temos o seguinte código de script :
<SCRIPT language=JavaScript>
indicando que iremos usar a linguagem JavaScript em nosso código.
As funções JavaScript: usadas nesta página são:
Nome da Função | Descrição |
isEmpty | verifica se um campo esta vazio. Recebe o parâmetro s que é o campo a ser verificado. |
AvisoInvalido | Gera um aviso para o usuário e volta o foco para o campo. Recebe dois parâmetros: thefield - o campo em questão warntext - o texto de aviso |
valida | Faz a validação do formulário preenchido. Verifica se o tamanho da string de pesquisa possui mais de dois caracteres. Em caso positivo invoca a função AvisoInvalido. |
pesquisa | Mostra o arquivo de ajuda: ajuda.htm |
3-) O código abaixo é um script Java que coloca o foco no primeiro campo do formulário toda a vez que a página é carregada.
<script
language="JavaScript"> <!-- // Coloca foco no primeiro campo do formulário document.pesquisa.id.focus(); // --> </script> |
O funcionamento da página index.htm
<A href="javascript:pesquisa()"><IMG border=0 src="tit_pesquisa.gif" vspace=7 width="109" height="13"></A> |
A seguir a função abre uma janela e exibe o arquivo ajuda.htm ao usuário. Veja código a seguir:
<SCRIPT>
copyhistory=no,width=270,height=310,top=40,left=150'); |
<FORM action=catalogo.asp method=POST name=pesquisa onsubmit="return valida()"> |
A instrução acima indica que temos um formulário que chama a página catalogo.asp após fazer a validação da pesquisa. Em um formulário os campos recebem nomes para que possam ser identificados. O primeiro campo refere-se a palavra chave que deve ser informada , para receber uma entrada e identificar o respectivo campo usamos a instrução a seguir : <INPUT name=id size=13> que define o nome do campo como id com tamanho de até 13 caracteres.
O outro campo do nosso formulário é o campo que permite a escolha da categoria da nossa pesquisa. Aqui temos uma relação com as opções predeterminadas. O código para identificar este campo é o seguinte:
<SELECT name=categoria size="1"> <OPTION selected>Todos <OPTION>Autor <OPTION>Assunto <option>Titulo </option></SELECT> |
Temos no código o campo definido com o nome de categoria e tamanho de 1 e as opções para seleção com a opção Todos selecionada . Veremos mais a frente por que usamos nomes para identificar os campos do formulário.
<a href="http://macorati/loja/identifica.asp">Cadastro</a> |
O arquivo Global.asa
Não podemos esquecer de mencionar o arquivo Global.asa , pois ele é fundamental para o funcionamento da nossa loja virtual. Pois nele usamos o código que irá nos conectar ao nosso banco de dados. Iremos usar o arquivo Global.asa para criar variáveis que sejam visíveis em toda nossa aplicação - a variável conecta_bd e variáveis que deverão existir enquanto a sessão do usuário existir - as variáveis ClienteID , ClienteNome e PedidoID .
Os objetos Session e Application permitem a criação e o acesso a essas variáveis e juntamente com um arquivo especial chamado Global.asa permitem uma configuração da aplicação quando da ocorrência dos eventos : inicar sessão/encerrar sessão e iniciar aplicaçao /encerrar aplicação. O código do nosso arquivo Global.asa é dado a seguir:
<SCRIPT
LANGUAGE=VBScript RUNAT=Server> Option Explicit Sub Application_OnStart
|
O arquivo Global.asa inicia a variável de aplicação Application("conecta_bd") atribuindo á mesma o caminho do banco de dados e o provedor OLE DB usado na conexão , montando assim uma string de conexão que será utilizada por todas as rotinas dos demais arquivos do projeto que necessitam abrir a base de dados esoft.mdb. A variável a nível de aplicação é visível por todas os arquivos de scritps do projeto.
Ao invés de um provedor OLE DB podemos usar um drive ODBC ou um DSN- Data Source Name - para fazer a conexão com a base de dados. No nosso caso usamos um driver ODBC para acessar uma base de dados Access por isto temos:
Application("conecta_bd")="DBQ=c:\inetpub\wwwroot\loja\esoft.mdb;DRIVER={Microsoft Access Driver (*.mdb)}"
A seguir as variáveis de sessão que identificam o usuário são inicializadas. Para cada usuário que acessar o site pela primeira vez e até dez minutos após o usuário abandonar a sessão elas permanecem na memória do servidor.
Sub
Session_OnStart |
O arquivo Global.asa é um arquivo texto que pode ser criado em qualquer editor de textos e só pode haver um único arquivo Global.asa por diretório virtual ou aplicação ASP.
Veja os
Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique
e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET