Erro no site: "Atenção: Não há opções de entrega disponíveis. Por favor, contate-nos para assistência!"
Erro ao investigar o webservice dos correios: "Área com entrega temporariamente sujeita a prazo diferenciado".
Esse erro ocorre apenas para alguns CEPs, nem sempre aparece,
E vamos lá aos códigos...
No "catalog/model/shipping/correios.php" altere
if($servico['Erro'] == 0 && $valor_frete_sem_adicionais > 0)
substitua por
if(($servico['Erro'] == 0 || $servico['Erro'] == 10 ) && $valor_frete_sem_adicionais > 0)
(cuidado para não comer a chave "{" do if )
Porém eu acho importante esse erro aparecer para o comprador pois ele deve saber que o produto vai ter problemas na entrega. Então testo se o erro é o 10 e incluo a mensagem no título do tipo da entrega.
Procure os seguintes códigos abaixo no mesmo arquivo e adicione as linhas em laranja:
// texto a ser exibido para Sedex a Cobrar
if($servico['Codigo'] == $this->correios['Sedex a Cobrar']){
$title = sprintf($this->language->get('text_'.$servico['Codigo']), $servico['PrazoEntrega'], $this->currency->format($cost));
if($servico['Erro'] == 10) $title .= ' ('.$servico['MsgErro'].')';
$text = $this->currency->format($this->tax->calculate($cost, $this->config->get('correios_tax_class_id'), $this->config->get('config_tax')));
}
else{
$title = sprintf($this->language->get('text_'.$servico['Codigo']), $servico['PrazoEntrega']);
if($servico['Erro'] == 10) $title .= ' ('.$servico['MsgErro'].')';
$text = $this->currency->format($this->tax->calculate($cost, $this->config->get('correios_tax_class_id'), $this->config->get('config_tax')));
}
Galera, gostaria de contar com a colaboração de vocês para melhorar isso ou até checar se a solução é realmente adequada. Fiz essa alteração a poucos minutos e já estou publicando pois vejo que ela é bem emergencial, mas é sempre bom construir soluções de maneira colaborativa.
Abraços !