Ir para conteúdo
Fórum Script Brasil
  • 0

Cálculo de frete com retorno no carrinho de compras


reginaa

Pergunta

Boa tarde,

Cheguei agora e já com dúvidas, na verdade conheço o fórum a algum tempo, mas só agora me cadastrei, e aqui aprendi bastante.

Vamos a minha case:

Estou tentando incluir o cálculo de frete a um carrinho de compras e preciso que o valor do frete seja somado ao subtotal do carrinho.

Encontrei a seguinte função para calcular o frete e esta funciona perfeitamente

function calculaFrete($cod_servico, $cep_origem, $cep_destino, $peso, $altura='2', $largura='11', $comprimento='16', $valor_declarado='0.50'){
        $correios = "http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?nCdEmpresa=&sDsSenha=&sCepOrigem=".$cep_origem."&sCepDestino=".$cep_destino."&nVlPeso=".$peso."&nCdFormato=1&nVlComprimento=".$comprimento."&nVlAltura=".$altura."&nVlLargura=".$largura."&sCdMaoPropria=n&nVlValorDeclarado=".$valor_declarado."&sCdAvisoRecebimento=n&nCdServico=".$cod_servico."&nVlDiametro=0&StrRetorno=xml";
        $xml = simplexml_load_file($correios);
        if($xml->cServico->Erro == '0')
          return $xml->cServico->Valor;
        else
          return false;
 }#function frete
No carrinho eu tenho um input para o cliente digitar o seu CEP, aqui começa minha dificuldade, como passar este dado, para adicionar ou remover um item eu uso um link normal <a href='arquivo_processa_carrinho.php?soma=codigo_item'>Adicionar</a> No input como devo fazer? Tentei da seguinte forma
print '<tr id="trtotal">
      <td colspan="5" class="cep"><fieldset>
        <label for="cep">CEP:<input type="text" class="diversos" id="cep" name="cep" onkeyup="javascritp:if(this.value.length == 9) ColocaFocus(\'CalcularFreteBt\', event);" onkeypress="SomenteNumero2(event,this,\'#####-###\');" maxlength="9" /></label>
        <a href="processa.php?cep=document.getElementById("cep").value\" class="btCalcular"><img title="Calcular" name="CalcularFreteBt" id="CalcularFreteBt" src="http://www.etna.com.br/Imagens/bt_calcular.gif"/></a>
        <input type="submit" style="display:none;" id="CalcularFreteBt2" value="" name="CalcularFreteBt2"/></fieldset></td>
      <td>
        <label>Frete:</label>
          <td class="tdsubtotal">R$ '.number_format($_SESSION["frete"],2,',','.').'</td>
        </tr>';
Eu pego minha sessão no carrinho assim:
foreach($_SESSION as $campo => $quantidade) {
uso assim para remover uma unidade
if(isset($_GET['rem'])) {
 $_SESSION['produto_'.$_GET['rem']]--;
 header("Location: ".$pagina);
}
e tentei usar assim para calcular mas não deu certo:
if(isset($_GET['cep'])) {
  $_SESSION["cep"]=$_GET['cep'];
  $cod_servico="41106";
  $cep_origem ="26255170";
  $cep_destino=$_GET['cep'];
  $peso="0.1";
  $_SESSION["frete"]=calculaFrete('40045','26255170','96825150','0.1');;
  echo "CEP ".$_GET['cep'];
#  header("Location: ".$pagina);
}

Como eu devo fazer esta parte, pois eu vou precisar pegar outros valores, como o peso e as dimensões do produto e fazer a verificação se eles estão dentro das medidas dos correios.

Desde já agradeço a quem se dispor a me dar uma luz.

regina

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...