• Boa tarde, estou com problema no calculo em alguns ceps( geralmente de fora do meu estado n?o funcionam, mas tem alguns no estado do lado que funcionam) alguns exemplos que funcionam: 95590000, 88980000, 95560000 entre outros da proximidade.
    Ocorreu recentemente, n?o ocorria antes.
    Observando o console, a requisi??o é feita e recebe os valores, porem ele n?o exibe ao cliente ( apenas define o undefined )

    O plugin está na sua ultima vers?o, assim como o plugin do correios, woocormerce etc.

    **sei que existe um tópico sobre o assunto, porém o autor n?o responde a mais de uma semana, ent?o criei um novo, espero que n?o tenha problema quanto a isso..**

    The page I need help with: [log in to see the link]

Viewing 9 replies - 1 through 9 (of 9 total)
  • Plugin Author lucasbustamante

    (@lucasbustamante)

    Amigo, estranho, edite o seguinte arquivo javascript do plugin:

    wp-content/plugins/woo-correios-calculo-de-frete-na-pagina-do-produto/assets/js/woocommerce-correios-calculo-de-frete-na-pagina-do-produto-public.js

    Na linha 130, substitua por isso e poste o resultado:

    // Outros métodos de envio
    if (result.shipping_methods) {
        $(result.shipping_methods).each(function(i, v) {
            console.log(i);
            console.log(v);
            row += '<tr>\
                        <td>'+v.Nome+'</td>\
                        <td>R$ '+v.Valor+'</td>\
                        <td>Em até '+v.PrazoEntrega+' dias</td>\
                    </tr>';
        });
    }
    Thread Starter diogofraga132

    (@diogofraga132)

    Bom dia, desculpe a demora, segue print do console:https://prnt.sc/jmgf3m
    alguns lugares ele retorna o undefined, e outros ele n?o retorna nada na tabela, ficando vazio, e no console alega que n?o há nada configurado pra a área de entrega, porém todos os estados do país tem suas áreas de entrega com 3 tipos de envio, ent?o deveria funcionar, funcionava na verdade, parou no inicio da semana sem motivo algum..

    Plugin Author lucasbustamante

    (@lucasbustamante)

    O condicionante do CEP nas áreas de entrega do WooCommerce é feito via select de Estado?

    Thread Starter diogofraga132

    (@diogofraga132)

    isso, eu criei as areas por regi?o, segue como está configurado: https://prnt.sc/jmljaq

    @edit

    n?o acredito que o problema seja as áreas,por que:
    1- estava funcionando normal e parou do nada, acredito que n?o funcionaria desde o inicio, considerando que n?o havia realizado nenhuma atualiza??o;
    2- Por que alguns ceps dentro da mesma área funcionam, e outros n?o.

    • This reply was modified 6 years, 10 months ago by diogofraga132.
    Plugin Author lucasbustamante

    (@lucasbustamante)

    A lógica de verificar se um CEP pertence à um estado é a seguinte, ele pega os 5 primeiros dígitos do estado e faz essa verifica??o:

    
        case ('AC'):
            if ($cep > 69900 && $cep < 69999)
                return true;
            break;
        case ('AL'):
            if ($cep > 57000 && $cep < 57999)
                return true;
            break;
        case ('AP'):
            if ($cep > 68900 && $cep < 68999)
                return true;
            break;
        case ('AM'):
            if ($cep > 69400 && $cep < 69899)
                return true;
            break;
        case ('BA'):
            if ($cep > 40000 && $cep < 48999)
                return true;
            break;
        case ('CE'):
            if ($cep > 60000 && $cep < 63999)
                return true;
            break;
        case ('CE'):
            if ($cep > 60000 && $cep < 63999)
                return true;
            break;
        case ('DF'):
            if ($cep > 70000 && $cep < 73699)
                return true;
            break;
        case ('ES'):
            if ($cep > 29000 && $cep < 29999)
                return true;
            break;
        case ('GO'):
            if ($cep > 72800 && $cep < 76799)
                return true;
            break;
        case ('MA'):
            if ($cep > 65000 && $cep < 65999)
                return true;
            break;
        case ('MT'):
            if ($cep > 78000 && $cep < 78899)
                return true;
            break;
        case ('MS'):
            if ($cep > 79000 && $cep < 79999)
                return true;
            break;
        case ('MG'):
            $debug[] = 'MG';
            if ($cep > 30000 && $cep < 39999)
                return true;
            break;
        case ('PA'):
            if ($cep > 66000 && $cep < 68899)
                return true;
            break;
        case ('PB'):
            if ($cep > 58000 && $cep < 58999)
                return true;
            break;
        case ('PR'):
            if ($cep > 80000 && $cep < 87999)
                return true;
            break;
        case ('PE'):
            if ($cep > 50000 && $cep < 56999)
                return true;
            break;
        case ('PI'):
            if ($cep > 64000 && $cep < 64999)
                return true;
            break;
        case ('RJ'):
            if ($cep > 20000 && $cep < 28999)
                return true;
            break;
        case ('RN'):
            if ($cep > 59000 && $cep < 59999)
                return true;
            break;
        case ('RS'):
            if ($cep > 90000 && $cep < 99999)
                return true;
            break;
        case ('RO'):
            if ($cep > 78900 && $cep < 78999)
                return true;
            break;
        case ('RR'):
            if ($cep > 69300 && $cep < 69389)
                return true;
            break;
        case ('SC'):
            if ($cep > 88000 && $cep < 89999)
                return true;
            break;
        case ('SP'):
            if ($cep > 01000 && $cep < 19999)
                return true;
            break;
        case ('SE'):
            if ($cep > 49000 && $cep < 49999)
                return true;
            break;
        case ('TO'):
            if ($cep > 77000 && $cep < 77995)
                return true;
            break;

    Veja aí se tem alguma coisa errada com essa tabela de acordo com a sua experiência, e me fale.

    Thread Starter diogofraga132

    (@diogofraga132)

    teste com cep de SP capital:
    https://prnt.sc/jnk3cd
    teste com cep do Rio Branco – Acre:
    https://prntscr.com/jnk3n7

    Oque n?o entendo é que no caso do Acre ele retorna que n?o existe forma de entrega( sendo que tem … igual a todas as outras regi?es), assim exibe a mensagem para calculo no carrinho( foi adicionado na ultima atualiza??o, confere?)
    Porém no caso de SP, ele retorna o array com os valores, mas printa undefined por algum motivo
    Mesmo eu estando no estado do RS algumas cidades n?o funcionam, por exemplo, Porto Alegre n?o funciona, já Tramandaí que fica a 1:30 de lá funciona.. n?o faz muito sentido kkk

    Sobre a sua valida??o, creio que está correta, apenas colocaria como >= na valida??o, pois os 5 primeiros digitos 90000 já é do RS, dificilmente v?o utilizar algum cep redondo assim, mas já deveria entrar…

    Plugin Author lucasbustamante

    (@lucasbustamante)

    @diogofraga132 o seu CEP do Acre está bugado mesmo, deveria ser >= como você disse, por isso o do Acre n?o está funcionando… Vou arrumar isso numa próxima vers?o.

    Agora, o de SP está retornando a seguinte mensagem: “”O CEP de destino está temporariamente sem entrega domiciliar. A entrega será efetuada na agência indicada no Aviso de Chegada que será entregue no endere?o do destinatário.”

    Vou ver se adiciono essas informa??es de DEBUG no plugin numa próxima vers?o.

    Olá Lucas. Estou com um problema semelhante. Defini 2 regi?es de entrega e quando coloco os ceps de uma das regi?es, retorna o erro undefined na forma, custo estimado e entrega estimada.

    Woocommerce 3.4.5. Inspecionando o elemento pelo Chrome, ele até printa as informa??es:
    2:{Codigo: “04510”, Valor: “22,41”, PrazoEntrega: “12”, ValorSemAdicionais: “21,20”, ValorMaoPropria: “0,00”, …}
    3:{Codigo: “04014”, Valor: “35,31”, PrazoEntrega: “2”, ValorSemAdicionais: “34,10”, ValorMaoPropria: “0,00”, …}

    Pode me ajudar?

    Boa tarde! Primeiramente, parabéns pelo plugin. Ficou muito bom. ??

    Este erro eu também passei.
    O problema era que tinha um frete grátis e produtos variáveis (n?o sei o que disso é que causou o problema), mas o problema era que o indice do json come?ava com “2”, como @yendokaai colocou.
    Outro problema que tinha era que o vinha o PAC e SEDEX duplicado. Resolvi os dois problemas assim:
    No arquivo “Woocommerce_Correios_Calculo_De_Frete_Na_Pagina_Do_Produto.php”, na fun??o “calcula_frete()”, coloquei assim:

     public function calcula_frete() {
            $output = array();
    
            $output['retirar_no_local'] = $this->metodos_de_entrega['retirar_no_local'];
            $output['frete_gratis'] = $this->metodos_de_entrega['frete_gratis'];
    
    		$contador = 0;
    		$arr_metodo = array();
            // Pega os valores propriamente dito
            foreach ($this->metodos_de_entrega['shipping_methods'] as $metodo_de_entrega) {
                if ($metodo_de_entrega['cep_destinatario_permitido'] && (!in_array($metodo_de_entrega,$arr_metodo))) {
                    $output['shipping_methods'][$contador] = (array) $this->get_valor_frete_wc_correios($metodo_de_entrega);
                    $output['shipping_methods'][$contador] = $this->verifica_retorno_wc_correios($output['shipping_methods'][$contador]);
                    $output['shipping_methods'][$contador]['Nome'] = $metodo_de_entrega['title'];
    				
    				$arr_metodo[] = $metodo_de_entrega;
    				++$contador;
                }
            }
    
            if (empty($output['shipping_methods']) && $output['retirar_no_local'] == false) {
                $output['status']['erro'] = 'Desculpe, n?o existem métodos de entrega disponiveis para esta regi?o.';
            }
    
            $this->retornar_json($output);
        }

    Coloquei um contador para definir o índice do array e também criei um array para armazenar as op??es de frete que já estavam no array final dos frete.
    Pra mim funcionou 100%. ??
    Forte abra?o

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘tabela com valores undefined’ is closed to new replies.