-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 46a66b1
Showing
17 changed files
with
1,821 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
Módulo Correios Opencart 3.0 | ||
----------------------------------------------- | ||
|
||
Parâmetros usados pelos correios: | ||
-------------------------------- | ||
|
||
[Visite:] (http://www.correios.com.br/para-voce/precisa-de-ajuda/limites-de-dimensoes-e-de-peso) | ||
|
||
Nota: Sedex Hoje tem peso e dimensões máximas menores que o mensionado pelo site dos Correios. | ||
|
||
Requisitos | ||
---------- | ||
1 - PHP ^5.6 | ||
|
||
2 - [Template Switcher]( https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=31589&filter_member=JNeuhoff) | ||
|
||
Instalação | ||
---------- | ||
|
||
1 - Instale o módulo pelo admin (Extensões -> Instalador). | ||
|
||
2 - Configure as opções do módulo Correios (Extensões -> Fretes). | ||
|
||
Observações: | ||
----------- | ||
|
||
1) Os valores dos fretes obtidos diretamente do site dos Correios são estimativas que devem ser confirmados no ato da postagem. | ||
|
||
2) Para o correto funcionamento do módulo é essencial o cadastro correto das dimensões e pesos do produtos. | ||
As dimensões podem ser em milímetros ou centímetros. O peso em gramas ou kilogramas. | ||
|
||
3) Se as opções dos Correios não aparecerem consulte o log de erros do OpenCart para mais detalhes. | ||
|
||
4) Nem todo CEP é coberto por alguns serviços, como o Sedex 10. Neste caso, a opção de entrega deste serviço não aparecerá para o cliente. | ||
|
||
NOTA: | ||
----------- | ||
|
||
> O sistema ainda não está totalmente pronto, não havendo um tratamento de erros. Estude o codigo e teste antes de colocalo em produção. | ||
Erros mais comuns | ||
----------- | ||
|
||
*** OPÇÃO DOS CORREIOS NÃO APARECE NA LOJA *** | ||
|
||
Várias razões pode contribuir para que os Correios não aparece nas opções de entrega: | ||
|
||
-> CEP de origem e destino incorretos | ||
-> Dimensões e pesos dos produtos em branco ou fora dos padrões dos Correios | ||
-> Moeda (Real) não configurada na loja | ||
-> Problemas com o webservice dos Correios (neste caso não tem muito o que fazer a não ser esperar o serviço voltar a normalidade) | ||
-> Instalação da versão incorreta do módulo para a versão da sua loja. | ||
|
||
---------------------------- | ||
Dúvidas, sugestões e avisos sobre bugs acessem o tópico do módulo no fórum do OpenCart Brasil: | ||
http://forum.opencartbrasil.com.br/ | ||
|
||
---------------------------- | ||
|
||
Projeto Original de: | ||
Júlio César Campos Guimarães |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
.phpintel | ||
.idea |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
186 changes: 186 additions & 0 deletions
186
upload/admin/controller/extension/shipping/correios.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,186 @@ | ||
<?php | ||
|
||
class ControllerExtensionShippingCorreios extends Controller | ||
{ | ||
private $error = array(); | ||
|
||
public function index() | ||
{ | ||
$this->load->language('extension/shipping/correios'); | ||
|
||
$this->document->setTitle($this->language->get('heading_title')); | ||
|
||
$this->load->model('setting/setting'); | ||
|
||
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { | ||
|
||
$this->model_setting_setting->editSetting('shipping_correios', $this->request->post); | ||
|
||
$this->session->data['success'] = $this->language->get('text_success'); | ||
|
||
$this->response->redirect($this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true)); | ||
} | ||
|
||
$data['heading_title'] = $this->language->get('heading_title'); | ||
|
||
$data['text_edit'] = $this->language->get('text_edit'); | ||
$data['text_enabled'] = $this->language->get('text_enabled'); | ||
$data['text_disabled'] = $this->language->get('text_disabled'); | ||
$data['text_all_zones'] = $this->language->get('text_all_zones'); | ||
$data['text_none'] = $this->language->get('text_none'); | ||
$data['text_yes'] = $this->language->get('text_yes'); | ||
$data['text_no'] = $this->language->get('text_no'); | ||
|
||
$data['entry_servicos'] = $this->language->get('entry_servicos'); | ||
$data['entry_codigo'] = $this->language->get('entry_codigo'); | ||
$data['entry_nome'] = $this->language->get('entry_nome'); | ||
$data['entry_a_cobrar'] = $this->language->get('entry_a_cobrar'); | ||
$data['entry_postcode'] = $this->language->get('entry_postcode'); | ||
$data['entry_contrato_codigo'] = $this->language->get('entry_contrato_codigo'); | ||
$data['entry_contrato_senha'] = $this->language->get('entry_contrato_senha'); | ||
$data['entry_max_declarado'] = $this->language->get('entry_max_declarado'); | ||
$data['entry_min_declarado'] = $this->language->get('entry_min_declarado'); | ||
$data['entry_max_soma_lados'] = $this->language->get('entry_max_soma_lados'); | ||
$data['entry_min_soma_lados'] = $this->language->get('entry_min_soma_lados'); | ||
$data['entry_max_lado'] = $this->language->get('entry_max_lado'); | ||
$data['entry_max_peso'] = $this->language->get('entry_max_peso'); | ||
$data['entry_mao_propria'] = $this->language->get('entry_mao_propria'); | ||
$data['entry_aviso_recebimento'] = $this->language->get('entry_aviso_recebimento'); | ||
$data['entry_declarar_valor'] = $this->language->get('entry_declarar_valor'); | ||
$data['entry_total'] = $this->language->get('entry_total'); | ||
$data['entry_prazo_adicional'] = $this->language->get('entry_prazo_adicional'); | ||
$data['entry_adicional'] = $this->language->get('entry_adicional'); | ||
$data['entry_status'] = $this->language->get('entry_status'); | ||
$data['entry_tax_class'] = $this->language->get('entry_tax_class'); | ||
$data['entry_geo_zone'] = $this->language->get('entry_geo_zone'); | ||
$data['entry_sort_order'] = $this->language->get('entry_sort_order'); | ||
|
||
$data['help_codigo'] = $this->language->get('help_codigo'); | ||
$data['help_nome'] = $this->language->get('help_nome'); | ||
$data['help_a_cobrar'] = $this->language->get('help_a_cobrar'); | ||
$data['help_postcode'] = $this->language->get('help_postcode'); | ||
$data['help_contrato_codigo'] = $this->language->get('help_contrato_codigo'); | ||
$data['help_contrato_senha'] = $this->language->get('help_contrato_senha'); | ||
$data['help_max_declarado'] = $this->language->get('help_max_declarado'); | ||
$data['help_min_declarado'] = $this->language->get('help_min_declarado'); | ||
$data['help_max_soma_lados'] = $this->language->get('help_max_soma_lados'); | ||
$data['help_min_soma_lados'] = $this->language->get('help_min_soma_lados'); | ||
$data['help_max_lado'] = $this->language->get('help_max_lado'); | ||
$data['help_max_peso'] = $this->language->get('help_max_peso'); | ||
$data['help_mao_propria'] = $this->language->get('help_mao_propria'); | ||
$data['help_aviso_recebimento'] = $this->language->get('help_aviso_recebimento'); | ||
$data['help_declarar_valor'] = $this->language->get('help_declarar_valor'); | ||
$data['help_total'] = $this->language->get('help_total'); | ||
$data['help_prazo_adicional'] = $this->language->get('help_prazo_adicional'); | ||
$data['help_adicional'] = $this->language->get('help_adicional'); | ||
|
||
$data['button_save'] = $this->language->get('button_save'); | ||
$data['button_cancel'] = $this->language->get('button_cancel'); | ||
$data['button_remove'] = $this->language->get('button_remove'); | ||
$data['button_add_servico'] = $this->language->get('button_add_servico'); | ||
|
||
$data['tab_general'] = $this->language->get('tab_general'); | ||
|
||
if (isset($this->error['warning'])) { | ||
$data['error_warning'] = $this->error['warning']; | ||
} else { | ||
$data['error_warning'] = ''; | ||
} | ||
|
||
if (isset($this->error['required'])) { | ||
$data['error_warning'] = $this->error['required']; | ||
} else { | ||
$data['error_warning'] = ''; | ||
} | ||
|
||
$data['breadcrumbs'] = array(); | ||
|
||
$data['breadcrumbs'][] = array( | ||
'text' => $this->language->get('text_home'), | ||
'href' => $this->url->link('common/dashboard', 'user_token=' . $this->session->data['user_token'], true) | ||
); | ||
|
||
$data['breadcrumbs'][] = array( | ||
'text' => $this->language->get('text_extension'), | ||
'href' => $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true) | ||
); | ||
|
||
$data['breadcrumbs'][] = array( | ||
'text' => $this->language->get('heading_title'), | ||
'href' => $this->url->link('extension/shipping/correios', 'user_token=' . $this->session->data['user_token'], true) | ||
); | ||
|
||
$data['action'] = $this->url->link('extension/shipping/correios', 'user_token=' . $this->session->data['user_token'], true); | ||
|
||
$data['cancel'] = $this->url->link('marketplace/extension', 'user_token=' . $this->session->data['user_token'] . '&type=shipping', true); | ||
|
||
|
||
if (isset($this->request->post['shipping_correios_servicos'])) { | ||
$data['correios_servicos'] = $this->request->post['shipping_correios_servicos']; | ||
} else { | ||
$data['correios_servicos'] = $this->config->get('shipping_correios_servicos'); | ||
} | ||
|
||
if (empty($data['correios_servicos'])) { | ||
$data['correios_servicos'] = array(); | ||
} | ||
|
||
if (isset($this->request->post['correios_status'])) { | ||
$data['correios_status'] = $this->request->post['shipping_correios_status']; | ||
} else { | ||
$data['correios_status'] = $this->config->get('shipping_correios_status'); | ||
} | ||
|
||
if (isset($this->request->post['shipping_correios_tax_class_id'])) { | ||
$data['correios_tax_class_id'] = $this->request->post['shipping_correios_tax_class_id']; | ||
} else { | ||
$data['correios_tax_class_id'] = $this->config->get('shipping_correios_tax_class_id'); | ||
} | ||
|
||
if (isset($this->request->post['shipping_correios_tax_class_id'])) { | ||
$data['correios_geo_zone_id'] = $this->request->post['shipping_correios_geo_zone_id']; | ||
} else { | ||
$data['correios_geo_zone_id'] = $this->config->get('shipping_correios_geo_zone_id'); | ||
} | ||
|
||
if (isset($this->request->post['shipping_correios_sort_order'])) { | ||
$data['correios_sort_order'] = $this->request->post['shipping_correios_sort_order']; | ||
} else { | ||
$data['correios_sort_order'] = $this->config->get('shipping_correios_sort_order'); | ||
} | ||
|
||
$this->load->model('localisation/tax_class'); | ||
|
||
$data['tax_classes'] = $this->model_localisation_tax_class->getTaxClasses(); | ||
|
||
$this->load->model('localisation/geo_zone'); | ||
|
||
$data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones(); | ||
|
||
$data['header'] = $this->load->controller('common/header'); | ||
$data['column_left'] = $this->load->controller('common/column_left'); | ||
$data['footer'] = $this->load->controller('common/footer'); | ||
|
||
|
||
$this->response->setOutput($this->load->view('extension/shipping/correios', $data)); | ||
|
||
} | ||
|
||
protected function validate() | ||
{ | ||
if (!$this->user->hasPermission('modify', 'extension/shipping/correios')) { | ||
$this->error['warning'] = $this->language->get('error_permission'); | ||
} | ||
|
||
if (!empty($this->request->post['shipping_correios_servicos'])) { | ||
foreach ($this->request->post['shipping_correios_servicos'] as $servico) { | ||
if ((utf8_strlen($servico['codigo']) == 0) || (utf8_strlen($servico['nome']) == 0) || (utf8_strlen($servico['postcode']) == 0) || (utf8_strlen($servico['max_declarado']) == 0) || (utf8_strlen($servico['min_declarado']) == 0) || (utf8_strlen($servico['max_soma_lados']) == 0) || (utf8_strlen($servico['min_soma_lados']) == 0) || (utf8_strlen($servico['max_lado']) == 0) || (utf8_strlen($servico['max_peso']) == 0)) { | ||
$this->error['required'] = $this->language->get('error_required'); | ||
break; | ||
} | ||
} | ||
} | ||
|
||
return !$this->error; | ||
} | ||
} |
71 changes: 71 additions & 0 deletions
71
upload/admin/language/en-gb/extension/shipping/correios.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
<?php | ||
// Heading | ||
$_['heading_title'] = 'Correios'; | ||
|
||
// Text | ||
$_['text_edit'] = 'Editar o frete pelos Correios'; | ||
$_['text_shipping'] = 'Formas de Envio'; | ||
$_['text_success'] = 'Módulo Correios atualizado com sucesso!'; | ||
|
||
// Entry | ||
$_['entry_servicos'] = 'Serviços - Adicione/configure os serviços que irá usar e remove os que não serão usados.'; | ||
|
||
$_['entry_codigo'] = 'Código'; | ||
$_['entry_nome'] = 'Nome'; | ||
$_['entry_a_cobrar'] = 'A cobrar'; | ||
$_['entry_postcode'] = 'CEP origem'; | ||
$_['entry_contrato_codigo'] = 'Código ADM'; | ||
$_['entry_contrato_senha'] = 'Senha'; | ||
|
||
$_['entry_max_declarado'] = 'Max declarado'; | ||
$_['entry_min_declarado'] = 'Min declarado'; | ||
|
||
$_['entry_max_soma_lados'] = 'Max soma lados'; | ||
$_['entry_min_soma_lados'] = 'Min soma lados'; | ||
$_['entry_max_lado'] = 'Lado Max'; | ||
$_['entry_max_peso'] = 'Peso Max'; | ||
|
||
$_['entry_mao_propria'] = 'Mão própria'; | ||
$_['entry_aviso_recebimento'] = 'Aviso rec.'; | ||
$_['entry_declarar_valor'] = 'Declarar valor'; | ||
|
||
$_['entry_total'] = 'Min frete grátis'; | ||
$_['entry_prazo_adicional'] = 'Prazo adicional'; | ||
$_['entry_adicional'] = 'Valor adicional (%)'; | ||
|
||
$_['entry_status'] = 'Situação'; | ||
$_['entry_tax_class'] = 'Grupo de Impostos'; | ||
$_['entry_geo_zone'] = 'Região Geográfica'; | ||
$_['entry_sort_order'] = 'Ordem'; | ||
|
||
// Button | ||
$_['button_add_servico'] = 'Adicionar serviço'; | ||
|
||
// Help | ||
$_['help_codigo'] = 'Código do serviço. Se tiver dúvida, consulte a comunidade do OpenCart ou o site dos Correios.'; | ||
$_['help_nome'] = 'Descrição do Serviço. É o nome que irá aparecer para o cliente nas formas de frete disponíveis.'; | ||
$_['help_a_cobrar'] = 'Habilite se o serviço é a cobrar.'; | ||
$_['help_postcode'] = 'CEP de origem'; | ||
$_['help_contrato_codigo'] = 'Código administrativo do contrato com os Correios. Requerido somente para serviços com contrato com os Correios.'; | ||
$_['help_contrato_senha'] = 'Senha do contrato com os Correios. Requerido somente para serviços com contrato com os Correios.'; | ||
|
||
$_['help_max_declarado'] = 'O Valor Declarado não deve exceder esse valor. É o limite máximo definido pelos Correios. Opção Declarar Valor deve estar habilitado.'; | ||
$_['help_min_declarado'] = 'O Valor Declarado não deve ser inferior a esse valor. É o mínimo definido pelos Correios. Opção Declarar Valor deve estar habilitado.'; | ||
|
||
$_['help_max_soma_lados'] = 'A soma resultante do comprimento + largura + altura não deve superar esse valor. É o limite máximo definido pelos Correios. Em cm'; | ||
$_['help_min_soma_lados'] = 'A soma resultante do comprimento + largura + altura não deve ser inferior a esse valor. É o mínimo definido pelos Correios. Em cm. Se a soma do pacote for inferior, este limite será usado.'; | ||
$_['help_max_lado'] = 'O comprimento ou largura ou altura do pacote não deve superar esse valor. É o maior lado do pacote definido pelos Correios. Em cm'; | ||
$_['help_max_peso'] = 'O peso do pacote não deve superar esse valor. É o maior peso definido pelos Correios. Em Kg'; | ||
|
||
$_['help_mao_propria'] = 'É o serviço opcional pelo qual o remetente recebe a garantia de que o objeto, por ele postado sob registro, será entregue somente ao próprio destinatário, através da confirmação de sua identidade.'; | ||
$_['help_aviso_recebimento'] = 'Aviso de Recebimento. É o serviço adicional que, através do preenchimento de formulário próprio, físico ou digital, permite comprovar, junto ao remetente, a entrega do objeto.'; | ||
$_['help_declarar_valor'] = 'É o serviço adicional pelo qual o cliente declara o valor de um objeto postado sob registro, para fins de ressarcimento, em caso de extravio ou espoliação. Alguns serviços exigem sua habilitação, como Sedex a Cobrar e PAC a Cobrar.'; | ||
|
||
$_['help_total'] = 'Total da compra (carrinho) para habilitar o frete grátis para esse serviço.'; | ||
$_['help_prazo_adicional'] = 'Prazo de entrega adicional (em dias) somado ao prazo dos Correios.'; | ||
$_['help_adicional'] = 'Adicional somado ao valor final do frete. Em %'; | ||
|
||
// Error | ||
$_['error_permission'] = 'Atenção: Você não possui permissão para modificar o módulo Correios!'; | ||
$_['error_required'] = 'Atenção: Há campos obrigatórios vazios ou nenhum serviço foi adicionado!'; | ||
?> |
Oops, something went wrong.