Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Por ggodoi
#39567
Instalei o módulo Etiqueta de Endereçamento e configurei em Extensões -> Módulos -> Etiqueta Correios, quando vou em Vendas -> Pedidos -> Seleciono o Pedido -> Histórico simplesmente não tenho a opção de impressão de etiqueta. Precisa de alguma outra configuração?
Por ggodoi
#39775
Gostaria de saber o pq para mim não aparece e não imprime o código de barras.
O problema esta quando ele gera a imagem. se o CEP possui o "-" o sistema não gera o código de barras, para que seja possivel gerar a etiqueta é preciso mudar o cep e deixar sem "-".
Teria alguma forma do sistema reconhecer o CEP com o "-"
Dede já agradeço
#40613
Valdeir,

Primeiramente, parabéns pela contribuição.

Ainda não instalei, pois estou em meu trabalho e não tenho conexão com o FTP do servidor.

Já foi corrigido o problema com o seu servidor?

É possível escolher o tamanho da etiqueta? Pois utilizei muito o endereçador dos Correios e haviam dois tamanhos de etiquetas, o de 2 etiquetas por folha e o de 4 etiquetas por folha. Acredito que o de 4 etiquetas por folha tem um melhor custo x benefício.

Desde já agradeço.
#40624
alehsoares escreveu:Valdeir,

Primeiramente, parabéns pela contribuição.

Ainda não instalei, pois estou em meu trabalho e não tenho conexão com o FTP do servidor.

Já foi corrigido o problema com o seu servidor?

É possível escolher o tamanho da etiqueta? Pois utilizei muito o endereçador dos Correios e haviam dois tamanhos de etiquetas, o de 2 etiquetas por folha e o de 4 etiquetas por folha. Acredito que o de 4 etiquetas por folha tem um melhor custo x benefício.

Desde já agradeço.
Já foi corrigido sim, por enquanto ainda não possui suporte para tamanhos.
#40647
valdeir2000 escreveu:
alehsoares escreveu:Valdeir,

Primeiramente, parabéns pela contribuição.

Ainda não instalei, pois estou em meu trabalho e não tenho conexão com o FTP do servidor.

Já foi corrigido o problema com o seu servidor?

É possível escolher o tamanho da etiqueta? Pois utilizei muito o endereçador dos Correios e haviam dois tamanhos de etiquetas, o de 2 etiquetas por folha e o de 4 etiquetas por folha. Acredito que o de 4 etiquetas por folha tem um melhor custo x benefício.

Desde já agradeço.
Já foi corrigido sim, por enquanto ainda não possui suporte para tamanhos.
Obrigado pelo retorno!
Por PeixotO
#40653
Valdeir, tenho um módulo de simples checkout em minha loja e no mesmo tem os campos número e complemento, teria como eu mostrar as informações desses campos na etiqueta?
#40727
PeixotO escreveu:Valdeir, tenho um módulo de simples checkout em minha loja e no mesmo tem os campos número e complemento, teria como eu mostrar as informações desses campos na etiqueta?
É possível sim, mas somente com alterações no código.
#40780
ggodoi escreveu:Gostaria de saber o pq para mim não aparece e não imprime o código de barras.
O problema esta quando ele gera a imagem. se o CEP possui o "-" o sistema não gera o código de barras, para que seja possivel gerar a etiqueta é preciso mudar o cep e deixar sem "-".
Teria alguma forma do sistema reconhecer o CEP com o "-"
Dede já agradeço
Sou Analista de Sistemas de alta plataforma (Mainframe) e por estar iniciando um e-commerce, estou tentando aprender um pouco de PHP fuçando... em breve farei um curso...

Fiz uns testes e tenho uma solução para este problema...

Peço ajuda à quem conhece PHP para saber se há uma opção melhor.

Alterei o arquivo: /admin/controller/sale/etiqueta_correios.php

Incluí o código:
Código: Selecionar todos
$order_info['payment_postcode'] = preg_replace( "@[-]@", "", $order_info['payment_postcode'] );
Após as linhas:
Código: Selecionar todos
$order_info = $this->model_sale_order->getOrder($this->request->get['order_id']);
E antes das linhas:
Código: Selecionar todos
$data = array(
Com isso, foi removido o "-" do campo CEP e agora o código de barras aparece normalmente.

Ao todo foram inseridas 3 linhas.

Segue o código completo:
Código: Selecionar todos
<?php

	Class ControllerSaleEtiquetaCorreios extends Controller{

		public function gerarEtiqueta(){

			$this->load->model('sale/order');

			$order_info = $this->model_sale_order->getOrder($this->request->get['order_id']);
			$order_info['payment_postcode'] = preg_replace( "@[-]@", "", $order_info['payment_postcode'] );
			$data = array(
				//Remetente
				'remetenteCep' 				=> $this->config->get('etiquetaCorreios_Cep'),
				'remetenteNome' 			=> $this->config->get('etiquetaCorreios_Nome'),
				'remetenteEmpresa' 			=> $this->config->get('etiquetaCorreios_Empresa'),
				'remetenteEndereco' 		=> $this->config->get('etiquetaCorreios_Endereco'),
				'remetenteNumero' 			=> $this->config->get('etiquetaCorreios_Numero'),
				'remetenteComplemento' 		=> $this->config->get('etiquetaCorreios_Complemento'),
				'remetenteTelefone' 		=> $this->config->get('etiquetaCorreios_Telefone'),
				'remetenteBairro' 			=> $this->config->get('etiquetaCorreios_Bairro'),
				'remetenteCidade' 			=> $this->config->get('etiquetaCorreios_Cidade'),
				'remetenteUf' 				=> $this->config->get('etiquetaCorreios_Uf'),
				
				//Destinatário
				'destinatarioCep' 			=> $order_info['payment_postcode'],
				'destinatarioNome' 			=> $order_info['payment_firstname'] . ' ' . $order_info['payment_lastname'],
				'destinatarioEmpresa' 		=> $order_info['payment_company'],
				'destinatarioEndereco' 		=> $order_info['payment_address_1'],
				'destinatarioNumero' 		=> $order_info['payment_number'],
				'destinatarioComplemento'	=> $order_info['payment_complement'],
				'destinatarioTelefone' 		=> $order_info['telephone'],
				'destinatarioBairro' 		=> $order_info['payment_address_2'],
				'destinatarioCidade' 		=> $order_info['payment_city'],
				'destinatarioUf' 			=> $order_info['payment_zone'],				
			);			
			$ch = curl_init('http://obaratodachina.com.br/lojaTeste/etqCorreios.php');
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($ch, CURLOPT_REFERER, HTTP_SERVER);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
			$response = curl_exec($ch);
			curl_close($ch);

			$this->template = '';
			$this->children = array(
				'common/header'
			);
			$this->response->setOutput($response);
			$this->load->model('sale/order');

			$order_info = $this->model_sale_order->getOrder($this->request->get['order_id']);
			$order_info['payment_postcode'] = preg_replace( "@[-]@", "", $order_info['payment_postcode'] );
			$data = array(
				'tipo' 						=> 'etiqueta',

				//Remetente
				'remetenteCep' 				=> $this->config->get('etiquetaCorreios_Cep'),
				'remetenteNome' 			=> $this->config->get('etiquetaCorreios_Nome'),
				'remetenteEmpresa' 			=> $this->config->get('etiquetaCorreios_Empresa'),
				'remetenteEndereco' 		=> $this->config->get('etiquetaCorreios_Endereco'),
				'remetenteNumero' 			=> $this->config->get('etiquetaCorreios_Numero'),
				'remetenteComplemento' 		=> $this->config->get('etiquetaCorreios_Complemento'),
				'remetenteTelefone' 		=> $this->config->get('etiquetaCorreios_Telefone'),
				'remetenteBairro' 			=> $this->config->get('etiquetaCorreios_Bairro'),
				'remetenteCidade' 			=> $this->config->get('etiquetaCorreios_Cidade'),
				'remetenteUf' 				=> $this->config->get('etiquetaCorreios_Uf'),
				
				//Destinatário
				'destinatarioCep' 			=> $order_info['payment_postcode'],
				'destinatarioNome' 			=> $order_info['payment_firstname'] . ' ' . $order_info['payment_lastname'],
				'destinatarioEmpresa' 		=> $order_info['payment_company'],
				'destinatarioEndereco' 		=> $order_info['payment_address_1'],
				'destinatarioNumero' 		=> $order_info['payment_number'],
				'destinatarioComplemento'	=> $order_info['payment_complement'],
				'destinatarioTelefone' 		=> $order_info['telephone'],
				'destinatarioBairro' 		=> $order_info['payment_address_2'],
				'destinatarioCidade' 		=> $order_info['payment_city'],
				'destinatarioUf' 			=> $order_info['payment_zone'],
			);
			$ch = curl_init('http://obaratodachina.com.br/valdeir/etqCorreios/index.php');
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($ch, CURLOPT_REFERER, HTTP_SERVER);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
			$response = curl_exec($ch);
			curl_close($ch);

			$this->response->setOutput($response);
		}

		public function gerarAr(){

			$this->load->model('sale/order');

			$order_info = $this->model_sale_order->getOrder($this->request->get['order_id']);
			$order_info['payment_postcode'] = preg_replace( "@[-]@", "", $order_info['payment_postcode'] );
			$data = array(
				'tipo' 						=> 'ar',

				//Remetente
				'remetenteCep' 				=> $this->config->get('etiquetaCorreios_Cep'),
				'remetenteNome' 			=> $this->config->get('etiquetaCorreios_Nome'),
				'remetenteEmpresa' 			=> $this->config->get('etiquetaCorreios_Empresa'),
				'remetenteEndereco' 		=> $this->config->get('etiquetaCorreios_Endereco'),
				'remetenteNumero' 			=> $this->config->get('etiquetaCorreios_Numero'),
				'remetenteComplemento' 		=> $this->config->get('etiquetaCorreios_Complemento'),
				'remetenteTelefone' 		=> $this->config->get('etiquetaCorreios_Telefone'),
				'remetenteBairro' 			=> $this->config->get('etiquetaCorreios_Bairro'),
				'remetenteCidade' 			=> $this->config->get('etiquetaCorreios_Cidade'),
				'remetenteUf' 				=> $this->config->get('etiquetaCorreios_Uf'),
				
				//Destinatário
				'destinatarioCep' 			=> $order_info['payment_postcode'],
				'destinatarioNome' 			=> $order_info['payment_firstname'] . ' ' . $order_info['payment_lastname'],
				'destinatarioEmpresa' 		=> $order_info['payment_company'],
				'destinatarioEndereco' 		=> $order_info['payment_address_1'],
				'destinatarioNumero' 		=> $order_info['payment_number'],
				'destinatarioComplemento'	=> $order_info['payment_complement'],
				'destinatarioTelefone' 		=> $order_info['telephone'],
				'destinatarioBairro' 		=> $order_info['payment_address_2'],
				'destinatarioCidade' 		=> $order_info['payment_city'],
				'destinatarioUf' 			=> $order_info['payment_zone'],
			);
			$ch = curl_init('http://obaratodachina.com.br/valdeir/etqCorreios/index.php');
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			curl_setopt($ch, CURLOPT_REFERER, 'http://localhost/');
			curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
			$response = curl_exec($ch);
			curl_close($ch);

			$this->response->setOutput($response);

		}

	}

?>
OBS: Alterei a origem dos dados para payment_ , pois o meu cadastro grava os dados apenas nestas colunas.

Se alguém tiver alguma dúvida, posso tentar ajudar, lembrando que manjo de JCL e Cobol, mas estou me aventurando no PHP...
#40781
Tive um problema... quando clico em Imprimir Etiqueta, aparece a etiqueta certa, com código de barras, mas quando é feito a impressão, não tem o código de barras.

Alguém tem ideia do que pode ser?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 11