LojaExemplo: Escolha o número de produtos a entrar no carrinho antes de clicar em COMPRAR

  • Olá,

    Essa modificação permitirá que seu cliente escolha a quantidade de itens de um produto ainda na página “produtos_descricao.asp”.

    Veja o exemplo:

    Abra o arquivo “produtos_descricão.asp” e logo no começo do arquivo adicione o trecho em vermelho:

    <form method=”post” name=”produto” action=”carrinho.asp”>
    <input type=”hidden” name=”lang” value=”<%=request(“lang”)%>”>
    <input type=”hidden” name=”codigo_produto” value=””>
    <input type=”hidden” name=”codigo_categoria” value=””>
    <input type=”hidden” name=”qtd_produtos” value=”1″>
    <input type=”hidden” name=”codigo_cor” value=””>
    <input type=”hidden” name=”codigo_tamanho” value=””>
    <input type=”hidden” name=”ato” value=”FIM”>
    <input type=”hidden” name=”mode” value=”comprar”>
    </form>
    <script type=”text/javascript”>
    function altera_quantidade() {
    document.produto.qtd_produtos.value =  document.getElementById(“qtd”).value;  ;
    }
    function addproduto2(codprod,codcat) {
    document.produto.codigo_produto.value = codprod;
    document.produto.codigo_categoria.value = codcat;
    var nome_tamanho = document.getElementsByName(“nome_tamanho”);

    Mais abaixo, no mesmo arquivo, adicione o trecho em vermelho:

    <tr>

    <td width=”100%” align=”center” height=”50″><input name=”Submit” type=”button” class=”BTTNindique” value=”Avalie este Produto” onclick=”window.open(‘form_coment.asp?IDPROD=<%=IDPROD%>&NOMEPROD=<%=NOMEPROD%>’,’Comente’,’resizable=no; width=600, height=600;’)”>&nbsp;&nbsp;<input name=”Submit” type=”button” class=”BTTNindique” value=”<%=Application(“BttIndicar”)%>” onclick=”window.open(‘indique.asp?lang=<%= varLang %>&tipo=produto&codigo_produto=<%= RS_Produto(“codigo_produto”) %>’,’Indique’,’resizable=no; width=600, height=250;’)”>&nbsp;&nbsp;

    <%If Application(“tipoconfiguracao”)=”lojavirtual” Then%>

    <br>

    Quantidade:

    <input type=”text” value=”1″ name=”qtd” id=”qtd” onKeyUp=’this.value = this.value.replace(/[^\d]*/gi,””); altera_quantidade();’ size=”4″ maxlength=”3″ class=”LCNlatesquerda”>

    <input name=”Submit” type=”button” class=”BTTNcomprar” value=”<%=Application(“BttComprar”)%>” onclick=”javascript: addproduto2(‘<%=RS_Produto(“codigo_produto”)%>’, ‘<%=RS_Produto(“codigo_categoria”)%>’)”><%End if%></td>

    </tr>

    <%End if%>

    Agora abra o arquivo “carrinho.asp” e adicione o trecho em vermelho:

    VarNome_produto = RS_Produto(“nome_produto”)

    if Request(“qtd_produtos”) <> “” Then

    VarQuantidade_produto = request.form(“qtd_produtos”)

    Else

    VarQuantidade_produto = “1″

    End if

    VarDesconto =  RS_Produto(“desconto”)

    O ultimo arquivo que precisa ser alterado é o “funcoes/funcoes.asp”, adicione o trecho em vermelho:

    If Not existe_produto Is Nothing Then

    ‘Atribui valor de quantidade para o produto se postado

    If request(“quantidade_produto”) <> “” Then

    qtd = request(“quantidade_produto”)

    ‘Se não postado o valor será de 1 (uma unidade)

    Else

    if Fctquantidade_produto <> “1″ Then

    qtd = Fctquantidade_produto

    Else

    qtd = 1

    End if

    End If

    ‘Chama funcão para alterar a quantidade produtos, caso a chamado ao carrinho seja inclusão de um mesmo produto.

    Call Altera_dados_pedidos(existe_produto,qtd)

    ‘Insere um novo produto

    Else

    ‘Grava valores de atributos no arquivo XML

    set produto=docxml.createelement(“produto”)

    produto.SetAttribute “codigo_produto”,FctCodigo_produto

    Adicione tambem mais um trecho em vermelho dentro da função “Cria_pedidoTemp” abaixo, pois sem ele quando a quantidade maior que 1 vai para o carrinho não muda o total, esse trecho é a correção para isso:

    dados_pedido.SetAttribute “sigla_idioma”,session(“requestIdioma”)

    dados_pedido.SetAttribute “id_transacao”,FctId_transacao

    dados_pedido.SetAttribute “inicio_transacao”,NOW

    dados_pedido.SetAttribute “valor_frete”,0

    ‘Altera o valor do campo total_parcial

    preco_unitarioTemp = Fctpreco_unitario

    preco_unitarioTemp = cdbl(preco_unitarioTemp *  Fctquantidade_produto)

    dados_pedido.SetAttribute “valor_subtotal”, formatNumber(preco_unitarioTemp)

    dados_pedido.SetAttribute “valor_total”, formatNumber(preco_unitarioTemp)

    dados_pedido.SetAttribute “peso_total”,0

    dados_pedido.SetAttribute “opcao_frete”,0

    dados_pedido.SetAttribute “pais_frete”,””

    (..)

    set produto=docxml.createelement(“produto”)

    produto.SetAttribute “codigo_produto”,FctCodigo_produto

    produto.SetAttribute “codigo_categoria”,FctCodigo_categoria

    produto.SetAttribute “codigo_cor”,FctCor

    produto.SetAttribute “codigo_tamanho”,FctTamanho

    produto.SetAttribute “codigo_produto”,FctCodigo_produto

    produto.SetAttribute “nome_produto”,Fctnome_produto

    produto.SetAttribute “preco_unitario”,formatNumber(Fctpreco_unitario)

    produto.SetAttribute “desconto”,FctDesconto

    produto.SetAttribute “peso_unitario”,formatNumber(FctPeso,3)

    FctPeso2 = cdbl(FctPeso * Fctquantidade_produto)

    produto.SetAttribute “peso_parcial”,formatNumber(FctPeso2,3)

    ‘Altera o valor do campo total_parcial

    preco_unitarioTemp = Fctpreco_unitario

    preco_unitarioTemp = cdbl(preco_unitarioTemp * Fctquantidade_produto)

    produto.SetAttribute “total_parcial”,formatNumber(preco_unitarioTemp)

    produto.SetAttribute “quantidade_produto”,Fctquantidade_produto

    dados_pedido.appendchild(produto)

    Agora retire o seguinte trecho em azul:

    If valor_subtotalTemp = “” Then

    valor_subtotalTemp = “0″

    End if

    VarSomaValorSubtotal = FormatNumber(CDbl(Fctpreco_unitario) + CDbl(valor_subtotalTemp))

    valor_total_finalTemp = FormatNumber(CDbl(VarSomaValorSubtotal))

    objAtualizaPedido.setAttribute “valor_subtotal”,VarSomaValorSubtotal

    ‘Salva o arquivo com as al


    set produto=Nothing

    É isso ai!

    Abraço.



    Related Posts Plugin for WordPress, Blogger...




    agosto 6th, 2010 | Jeann | 5 Comentários | Tags:,

Sobre o autor

Em breve.

5 Comentarios

  • Luciane 08.06.2010

    Ola
    Não consegui achar a linha de código no funcoes.asp para terminar a programação.
    POderia informar +ou- em que linha se encontra?

    Aguardo.

  • Primeiramente parabéns pela iniciativa de colocar os códigos para todos.

    Com relação à este código, não estou conseguindo fazer com que o valor postado na produtos_descricao.asp passe para o carrinho..

    Gostaria de saber se alguém teve este problema e como conseguiu corrigir.

    Obrigado!

  • Olá Luciane,

    Esse código esta entre as linhas 1727 a 1840, esses trechos estão dentro da função Cria_pedidoTemp

    Abraço

  • Ola amigo,
    fiz as configurações acima, tudo ok.
    Mas, qdo clico no x para excluir o item do carrinho aparece o seguinte erro:

    Microsoft VBScript runtime error ’800a0005′
    Invalid procedure call or argument: ‘MID’
    /americanamix/lista_pedidos.asp, line 200
    (Será que é preciso acrescentar alguma programação neste arquivo tbem ?)

    Ms ao clicar no x em :Excluir todos os produtos do carrinho >> não da erro. exclui.
    Entra na minha Loja pra vc ver ok
    http://www.americanamix.com.br
    Aguardo

  • Olá Eduardo,

    Atualizei o Post, estava com problema.

    Abraço.

Comente aqui

* Nome, Email e comentário são obrigatórios