Jump to content
Fórum Script Brasil
  • 0

Cálculo de frete com retorno no carrinho de compras


reginaa

Question

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 to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...