<%@LANGUAGE="VBSCRIPT" %> <% '-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# ' Loja Exemplo Locaweb ' Versão: 6.5 ' Data: 12/09/06 ' Arquivo: produtos_descricao.asp ' Versão do arquivo: 0.0 ' Data da ultima atualização: 16/10/08 ' '----------------------------------------------------------------------------- ' Licença Código Livre: http://comercio.Locaweb.com.br/gpl/gpl.txt '-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- %> <% rodape = "no" %>
">

Detalhamento do produto

<% 'Validação de dados postados por GET e/ou Post Call Valida_Request() 'passado na selação do produto codigo_produto = Request("codigo_produto") ' Abre tabela de produtos usando a conexao aberta acima. Set RS_Produto = Server.CreateObject("ADODB.Recordset") Set RS_Produto.ActiveConnection = Conexao RS_Produto.CursorLocation = 3 RS_Produto.CursorType = 0 RS_Produto.LockType = 1 'Seleciona dados do produto indicado RS_Produto.Open "SELECT Produtos.codigo_produto, Produtos.codigo_categoria, Produtos.codigo_subcategoria, Produtos.codigo_marca, Produtos.codigo_produto_loja, Produtos.nome_produto, Produtos.descricao_produto, Produtos.autor, Produtos.codigo_isbn, Produtos.tamanhos, Produtos.cores, Produtos.conceitos, Produtos.produtos_relacionados, Produtos.preco_base, Produtos.preco_unitario, Produtos.desconto, Produtos.moeda, Produtos.quantidade_produto, Produtos.img_produtoPQN, Produtos.img_produtoGRD, Produtos.img_produto_adic01PQN, Produtos.img_produto_adic01GRD, Produtos.img_produto_adic02PQN, Produtos.img_produto_adic02GRD, Produtos.img_produto_adic03PQN, Produtos.img_produto_adic03GRD, Produtos.peso, Produtos.comprimento, Produtos.largura, Produtos.altura, Produtos.comprimento_emb, Produtos.largura_emb, Produtos.altura_emb, Produtos.peso_emb, Produtos.destaque_vitrine, Produtos.promocao, Produtos.data_inicio, Produtos.data_fim, Produtos.disponivel, Produtos.sigla_idioma, Categorias.nome_categoria FROM Categorias INNER JOIN Produtos ON Categorias.codigo_categoria = Produtos.codigo_categoria WHERE Codigo_produto = "&Request("codigo_produto")&" AND Produtos.sigla_idioma = '" & varLang & "' AND Categorias.sigla_idioma = '" & varLang & "'", Conexao 'Converte para o cambio cadastrado conforme idioma selecionado. 'Criação do objeto de recordset para captura do valor do cambio Set DadosCambio = Server.CreateObject("ADODB.Recordset") Set DadosCambio.ActiveConnection = Conexao DadosCambio.CursorLocation = 3 DadosCambio.CursorType = 0 DadosCambio.LockType = 1 'Consulta a tabela IdiomaseCambios DadosCambio.Open "SELECT simbolo_moeda, valor_moeda FROM IdiomaseCambios WHERE sigla_idioma='"&varLang&"'", Conexao 'Captura valor da moeda e seu simbolo vlcambio = DadosCambio("valor_moeda") abvmoeda = DadosCambio("simbolo_moeda") 'Fecha conexão com o Recordset DadosCambio.close 'Destroi o objeto do recordset Set DadosCambio = Nothing If VerificaExistenciaDado("codigo_subcategoria","Subcategorias","codigo_subcategoria",RS_Produto("codigo_subcategoria")) Then 'Captura a subcategoria se existir Set RS_Subcateogria = Server.CreateObject("ADODB.Recordset") RS_Subcateogria.CursorLocation = 3 RS_Subcateogria.CursorType = 0 RS_Subcateogria.LockType = 1 RS_Subcateogria.Open "SELECT codigo_subcategoria, nome_subcategoria FROM Subcategorias WHERE sigla_idioma='"&varLang&"' AND codigo_subcategoria = "&RS_Produto("codigo_subcategoria")&"" , Conexao nome_subcategoria = RS_Subcateogria("nome_subcategoria") RS_Subcateogria.close Set RS_Subcateogria = Nothing End If If VerificaExistenciaDado("codigo_marca","Marcas","codigo_marca",RS_Produto("codigo_marca")) Then 'Captura a subcategoria se existir Set RS_Marca = Server.CreateObject("ADODB.Recordset") RS_Marca.CursorLocation = 3 RS_Marca.CursorType = 0 RS_Marca.LockType = 1 RS_Marca.Open "SELECT codigo_marca, nome_marca FROM Marcas WHERE codigo_marca = "&RS_Produto("codigo_marca")&"" , Conexao nome_marca = RS_Marca("nome_marca") RS_Marca.close Set RS_Marca = Nothing End If 'Calcula o valor bruto do produto conforma cambio selecionado valor_produto = FormatNumber(RS_Produto("preco_unitario")/(vlcambio),2) 'Verifica se existe alguma promoção de desconto para o produto e calcula o valor final. If pegavalor_promocao(valor_produto,RS_Produto) < FormatCurrency(valor_produto) Then valor_produto = pegavalor_promocao(valor_produto,RS_Produto) End If 'Se não existir registro e valor promocional o produto assume o valor cadastrado. If valor_produto = "" Then valor_produto = FormatNumber(RS_Produto("preco_unitario")/(vlcambio),2) End if ' Exibe o produto apenas se o mesmo estiver disponível If RS_Produto("disponivel") = 1 Then %>

<%= RS_Produto("nome_produto") %>

Quantidade por lote:
10 unidades.
Pedido mínimo:
01 lote.
Pedido máximo:
10 lotes.
Valor de 01 lote com 10 peças:
<%=abvmoeda%> <%= FormatNumber(valor_produto)%>
Valor unitário:
<%=abvmoeda%> <%= FormatNumber(valor_produto/10)%>
Quantidade em estoque:
<%= RS_Produto("quantidade_produto") %> lotes.
<%If RS_Produto("preco_unitario") > 0 AND Application("tipoconfiguracao")="lojavirtual" AND RS_Produto("quantidade_produto") > "0" Then %> ','<%=RS_Produto("codigo_categoria")%>')" class="bt_comprar bt_comprar_l"><%=Application("BttComprar")%> <% Else %>
<%= Application("MiddleTxtNaoDisponivel") %>. Entre em contato.
 
<%End if%> ','Indique','resizable=no, width=480, height=590;'))"><%=Application("BttIndicar")%>
<% If RS_Produto("img_produto_adic01PQN") <> "" Or RS_Produto("img_produto_adic02PQN") <> "" Or RS_Produto("img_produto_adic03PQN") <> "" Then %>
    <% 'Exibe imagem pequena do produto para seleção If RS_Produto("img_produtoGRD") <> "" Then %>
  • ');">" alt="" />
  • <% End If If RS_Produto("img_produto_adic01PQN") <> "" Then %>
  • ');">" alt="" />
  • <% End If If RS_Produto("img_produto_adic02PQN") <> "" Then %>
  • ');">" alt="" />
  • <% End If If RS_Produto("img_produto_adic03PQN") <> "" Then %>
  • ');">" alt="" />
  • <% End If %>
<% End If %>

Informações do produto

<%= RS_Produto("descricao_produto") %>
Conceitos associados:
<%Call Lista_Conceitos(RS_Produto("conceitos"))%>

Especificações

<% 'Verifica se existe opções de cores para o produto If RS_Produto("cores") <> "" Then%>
<%=Application("MiddleTxtSelCor")%>
<%Call Lista_Cores(RS_Produto("cores"))%>
<% End If 'Verifica se existe opções de tamanhos para o produto If RS_Produto("tamanhos") <> "" Then%>
<%=Application("MiddleTxtSelTamanho")%>
<%Call Lista_Tamanhos(RS_Produto("tamanhos"))%>
<% End If %> <% If RS_Produto("comprimento")<>"0" AND RS_Produto("largura")<>"0" AND RS_Produto("altura")<>"0" Then %>
Medidas:
Comprimento: <%=RS_Produto("comprimento")%> cm | Largura: <%=RS_Produto("largura")%> cm | Altura: <%=RS_Produto("altura")%> cm
<% End If %> <% If RS_Produto("comprimento_emb")<>"0" AND RS_Produto("largura_emb")<>"0" AND RS_Produto("altura_emb")<>"0" Then %>
Medidas da Embalagem:
Comprimento: <%=RS_Produto("comprimento_emb")%> cm | Largura: <%=RS_Produto("largura_emb")%> cm | Altura: <%=RS_Produto("altura_emb")%> cm
<% End If %> <% If RS_Produto("peso")<>"0" Then %>
Peso Lote:
<%=RS_Produto("peso")%> Kg
<% End If %> <% If RS_Produto("peso_emb")<>"0" Then %>
Peso do produto com a embalagem:
<%=RS_Produto("peso_emb")%> Kg
<% End If %>
Produção:
Após aprovação do Layout

** Após a compra, os dados para gravação bem como a logomarca, informando o número do pedido gerado, devem ser enviados através do e-mail origem@origem.com.br. Será enviado um layout para aprovação.

<%If RS_Produto("preco_unitario") > 0 then%>

Formas de pagamento

    <% 'Leitura do arquivo de configuração dos meios de pagamento Call abre_ArquivoXML(Application("XMLMeiosPagamentos"),FctobjXML,FctobjRoot) 'Set objeto de leitura do Nó Set configuracao = FctobjRoot.selectSingleNode("configuracao") 'Set objeto de leitura dos atributos Set itens = configuracao.getElementsByTagName("pagto[@disponivel='sim']") 'Identifica número itens para o Loop n_itens = itens.length 'Loop das formas de pagamentos disponíveis for i = 0 to (n_itens - 1) 'Set obeto de leitura de atributos configurados Set pagto = itens.item(i) 'Lista primeiro as formas de pagamentos a vista If pagto.getAttribute("permite_parcelamento") = "não" Then '### Pagamentos a vista %> <% 'Define quais meios de pagamentos permitem o parcelamento ElseIf pagto.getAttribute("permite_parcelamento") = "sim" Then permite_parcelamento = "sim" End If 'Destroi o objeto de leitura do XML Set pagto = Nothing Next '### Fim dos Pagamentos a vista '### Pagamentos parcelados 'Lista apenas os pagamentos que permitem parcelamentos e suas parcalas. If permite_parcelamento="sim" Then %>
    <%=Application("middleTxtPagtoAvista")%>
    <%=pagto.getAttribute("nome_visualizacao")%> <%=abvmoeda%>  <%= FormatNumber(valor_produto)%>
    <% 'Identifica número itens para o Loop n_itens = itens.length 'Loop das formas de pagamentos disponíveis for i = 0 to (n_itens - 1) 'Set obeto de leitura de atributos configurados Set pagto = itens.item(i) 'Lista primeiro as formas de pagamentos a vista If pagto.getAttribute("permite_parcelamento") = "sim" Then ' Resgata dados do parcelamento taxaJuros = pagto.getAttribute("taxa_juros") taxaDesconto = pagto.getAttribute("taxa_desconto") nValorMinParcela = FormatNumber(pagto.getAttribute("valormin_parcela")) sJuros = pagto.getAttribute("juros") %> <% End If 'Destroi o objeto de leitura do XML Set pagto = Nothing Next End if %>
    <%=Application("middleTxtPagtoParcelado")%>
    " style="display:none;">
    <%=pagto.getAttribute("nome_visualizacao")%> ');"><%= Application("MiddleTxtAte")%> <%=pagto.getAttribute("num_parcelas")%>x - <%= Application("MiddleTxtCliqueMaisDet")%>
    <% ' Zera a trava de parcelas sTrava = False ' Loop da primeira etapa de parcelas For num_parcela = 1 To 6 ' Verifica o tipo de juros é do lojista If sJuros = "lojista" Then ' Tipo de calculo da parcela sTipoCalc = pagto.getAttribute("parc"&num_parcela) ' Calcula o valor total com Desconto If sTipoCalc = "Desconto" Then currValorCalc = calculaValorTaxa(valor_produto,taxaDesconto,"Desconto") ' Calcula o valor total com juros definido Elseif sTipoCalc = "Com juros" Then currValorCalc = calculaValorTaxa(valor_produto,taxaJuros,"Acrescimo") ' Calcula o valor total sem juros Else currValorCalc = valor_produto End If ' Para juros do emissor Else currValorCalc = valor_produto End If ' Verifica o valor da parcela do pedido nValorParcelaPedido = FormatNumber(currValorCalc / num_parcela) ' Monta a exibição do 'Desconto' If sTipoCalc = "Desconto" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Desconto de " & taxaDesconto &"%" ' Monta a exibição do 'Com Juros' Elseif sTipoCalc = "Com juros" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Juros de " & taxaJuros &"%" ' Monta a exibição do 'Sem Juros' Elseif sTipoCalc = "Sem juros" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Sem Juros" Else sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido End If ' Ajusta o número de parcelas para dois dígitos If (num_parcela < 10) Then num_parcela = "0" & num_parcela End If ' Verifica o valor mínimo da parcela e a quantidade maxima de parcelas If Cdbl(nValorMinParcela) > Cdbl(nValorParcelaPedido) And num_parcela <> 1 Or CDbl(num_parcela) > CDbl(pagto.getAttribute("num_parcelas")) Then ' Ativa a trava de parcelas sTrava = True Exit For End If ' Monta as cores da tabela If strColor = "class=""FUNDOoptpagproduto3""" Then strColor = "class=""FUNDOoptpagproduto4""" Else strColor = "class=""FUNDOoptpagproduto3""" End If %> <% Next %>
    style="padding-left:10px"><%= num_parcela & sMeioPagto_Adicional %>
    <% ' Verifica se o valor minimo da parcela já não foi atingido e o número máximo de parcelas é maior que 6 If sTrava = False And pagto.getAttribute("num_parcelas") > 6 Then ' Loop para segunda etapa de parcelas For num_parcela = 7 To 12 ' Verifica o tipo de juros é do lojista If sJuros = "lojista" Then ' Tipo de calculo da parcela sTipoCalc = pagto.getAttribute("parc"&num_parcela) ' Calcula o valor total com Desconto If sTipoCalc = "Desconto" Then currValorCalc = calculaValorTaxa(valor_produto,taxaDesconto,"Desconto") ' Calcula o valor total com juros definido Elseif sTipoCalc = "Com juros" Then currValorCalc = calculaValorTaxa(valor_produto,taxaJuros,"Acrescimo") ' Calcula o valor total sem juros Else currValorCalc = valor_produto End If ' Para juros do emissor Else currValorCalc = valor_produto End If ' Verifica o valor da parcela do pedido nValorParcelaPedido = FormatNumber(currValorCalc / num_parcela) ' Monta a exibição do 'Desconto' If sTipoCalc = "Desconto" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Desconto de " & taxaDesconto &"%" ' Monta a exibição do 'Com Juros' Elseif sTipoCalc = "Com juros" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Juros de " & taxaJuros &"%" ' Monta a exibição do 'Sem Juros' Elseif sTipoCalc = "Sem juros" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Sem Juros" Else sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido End If ' Ajusta o número de parcelas para dois dígitos If (num_parcela < 10) Then num_parcela = "0" & num_parcela End If ' Verifica o valor mínimo da parcela e a quantidade maxima de parcelas If Cdbl(nValorMinParcela) > Cdbl(nValorParcelaPedido) And num_parcela <> 1 Or CDbl(num_parcela) > CDbl(pagto.getAttribute("num_parcelas")) Then ' Ativa a trava de parcelas sTrava = True Exit For End If ' Monta as cores da tabela If strColor = "class=""FUNDOoptpagproduto3""" Then strColor = "class=""FUNDOoptpagproduto4""" Else strColor = "class=""FUNDOoptpagproduto3""" End If %> <% Next End If %>
    style="padding-left:10px"><%= num_parcela & sMeioPagto_Adicional %>
<%End if%>
<%If RS_Produto("produtos_relacionados") <> "" then Set RS_Produtos_Relacionados = Server.CreateObject("ADODB.Recordset") RS_Produtos_Relacionados.CursorLocation = 3 RS_Produtos_Relacionados.CursorType = 0 RS_Produtos_Relacionados.LockType = 3 VetorProdutosRelacionados = Split(RS_Produto("produtos_relacionados"), ",") %>

Produtos Relacionados

    <% For I = 0 To Ubound(VetorProdutosRelacionados) RS_Produtos_Relacionados.Open "SELECT codigo_produto, nome_produto, img_produtoPQN, quantidade_produto, preco_unitario, data_inicio, data_fim, desconto FROM Produtos WHERE codigo_produto="&VetorProdutosRelacionados(I), Conexao If NOT RS_Produtos_Relacionados.Eof Then valor_produto_rel = FormatNumber(RS_Produtos_Relacionados("preco_unitario")/(vlcambio),2) %> > ">" alt="<%=RS_Produtos_Relacionados("nome_produto")%>" class="prod_img" />

    "><%=RS_Produtos_Relacionados("nome_produto")%>

    <%If RS_Produtos_Relacionados("quantidade_produto") > 0 Then%> <%If RS_Produtos_Relacionados("preco_unitario") > 0 then %> <%If pegavalor_promocao(codigo_produto,RS_Produtos_Relacionados) < FormatNumber(valor_produto_rel) AND pegavalor_promocao(codigo_produto,RS_Produtos_Relacionados) <> "" Then%> <%=Application("MiddleTxtDe")%>: <%=abvmoeda%> <%= FormatNumber(valor_produto_rel) %> <%=Application("MiddleTxtPor")%> <%=abvmoeda%> <%=FormatNumber(pegavalor_promocao(valor_produto_rel,RS_Produtos_Relacionados)) %>

    { <% Response.write Application("MiddleTxtValido") & " " & RS_Produtos_Relacionados("data_fim")%> }

    <%Else%> <%=abvmoeda%> <%= FormatNumber(valor_produto_rel) %> <%End If%> <%End If%> <%Else%>

    <%=Application("MiddleTxtNaoDisponivel")%>

    <%End If%> <% End If 'Fecha conexão com o Recordset RS_Produtos_Relacionados.Close Next 'Destroi o objeto do recordset Set RS_Produtos_Relacionados = Nothing %>
<%End if%> <% ' Exibe alerta de produto não disponível Else %>
<%= Application("MiddleTxtNaoDisponivel") %>
<% End If 'Fecha conexão com o Recordset RS_Produto.Close 'Destroi o objeto do recordset Set RS_Produto = Nothing %>