Fórum OpenCart Brasil

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

Suporte geral sobre problemas técnicos para OpenCart v1.x.
Avatar do usuário
Por Ed_Rolla
#30992
Olá, pessoal.

Depois de tanto vasculhar, achei melhor postar logo para ver se algúem pode me ajudar.

Versão do OC.: 1.5.4.1
Módulos pertinentes:
  • BCash (antigo "Pagamento Digital"); (versão do Júlio César Campos Guimarães)
  • Tradução pt-br do Manoel Vidal; (útlima versão)
Descrição do Erro: Ao efetuar um pagamento, notei que o número do pedido não está incrementando. De forma peculiar, o número dos pedidos parou de ser incrementado no #94 (porque, não sei!). Desconfiei que algo errado no "/controller/checkout/success.php" e, ao tentar fazer com que o valor fosse impresso (print($this->session->data['order_id']);) recebi a seguinte mensagem de erro abaixo

Mensagem de Erro:
Notice: Undefined index: order_id in .../catalog/controller/checkout/success.php
Notei que o Lupelius (no tópico https://forum.opencartbrasil.com.br/ ... =15&t=4885) teve um problema bem semelhante com o meu, o que me sugere que pode ser algo errado com a extensão do BCash.

Seguem os códigos que podem ser pertinentes:
/catalog/controller/checkout/success.php
Código: Selecionar todos
<?php
class ControllerCheckoutSuccess extends Controller { 
	public function index() { 	

		if ( isset($this->session->data['order_id']) && ( ! empty($this->session->data['order_id']))  ) {
			$this->session->data['last_order_id'] = $this->session->data['order_id'];
		}
		
		if (isset($this->session->data['order_id'])) {
			$this->cart->clear();
			
			unset($this->session->data['shipping_method']);
			unset($this->session->data['shipping_methods']);
			unset($this->session->data['payment_method']);
			unset($this->session->data['payment_methods']);
			unset($this->session->data['guest']);
			unset($this->session->data['comment']);
			unset($this->session->data['order_id']);	
			unset($this->session->data['coupon']);
			unset($this->session->data['reward']);
			unset($this->session->data['voucher']);
			unset($this->session->data['vouchers']);
		}	
									   
		$this->language->load('checkout/success');
		
		if (! empty($this->session->data['last_order_id']) ) {
			$this->document->setTitle(sprintf($this->language->get('heading_title_customer'), $this->session->data['last_order_id']));
		} else {
    		$this->document->setTitle($this->language->get('heading_title'));
		}
		
		$this->data['breadcrumbs'] = array(); 

      	$this->data['breadcrumbs'][] = array(
        	'href'      => $this->url->link('common/home'),
        	'text'      => $this->language->get('text_home'),
        	'separator' => false
      	); 
		
      	$this->data['breadcrumbs'][] = array(
        	'href'      => $this->url->link('checkout/cart'),
        	'text'      => $this->language->get('text_basket'),
        	'separator' => $this->language->get('text_separator')
      	);
				
		$this->data['breadcrumbs'][] = array(
			'href'      => $this->url->link('checkout/checkout', '', 'SSL'),
			'text'      => $this->language->get('text_checkout'),
			'separator' => $this->language->get('text_separator')
		);	
					
      	$this->data['breadcrumbs'][] = array(
        	'href'      => $this->url->link('checkout/success'),
        	'text'      => $this->language->get('text_success'),
        	'separator' => $this->language->get('text_separator')
      	);

		if (! empty($this->session->data['last_order_id']) ) {
			$this->data['heading_title'] = sprintf($this->language->get('heading_title_customer'), $this->session->data['last_order_id']);
		} else {
    		$this->data['heading_title'] = $this->language->get('heading_title');
		}
		
		if ($this->customer->isLogged()) {
			$this->data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/order/info&order_id=' . $this->session->data['last_order_id'], '', 'SSL'), $this->session->data['last_order_id'], $this->url->link('account/account', '', 'SSL'), $this->url->link('account/order', '', 'SSL'), $this->url->link('account/download', '', 'SSL'), $this->url->link('information/contact'));
		} else {
    		$this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->session->data['last_order_id'], $this->url->link('information/contact'));
		}
		
    	$this->data['button_continue'] = $this->language->get('button_continue');

    	$this->data['continue'] = $this->url->link('common/home');

		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/success.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/common/success.tpl';
		} else {
			$this->template = 'default/template/common/success.tpl';
		}
		
		$this->children = array(
			'common/column_left',
			'common/column_right',
			'common/content_top',
			'common/content_bottom',
			'common/footer',
			'common/header'			
		);
				
		$this->response->setOutput($this->render());
  	}
}
?>
catalog/language/portuguese-br/checkout/success.php
Código: Selecionar todos
<?php
// Heading
$_['heading_title']          = 'O Pedido foi Cadastrado!';
$_['heading_title_customer'] = 'O Pedido #%s foi Cadastrado!';

// Text
$_['text_customer'] 	= '<p>Seu pedido foi cadastrado com sucesso!</p><p>Caso tenha criado uma conta você pode ver o histórico dos seus pedidos acessando sua <a href="%s">conta</a> e clicando em <a href="%s">Histórico de Pedidos</a>.</p><p>Se seu pedido está associado a downloads, acesse sua <a href="%s">conta</a></a>.</p><p>Por favor, entre em contato conosco caso tenha dúvidas clicando <a href="%s">aqui</a>.</p><p>Obrigado por comprar em nossa loja!</p>';

$_['text_guest'] 		= '<p>Seu pedido foi cadastrado com sucesso!</p><p>Caso você tenha dúvidas entre em contato conosco clicando <a href="%s">aqui</a>.</p><p>Obrigado por comprar em nossa loja!</p>';
$_['text_basket'] 	= 'Meu Carrinho';
$_['text_checkout'] 	= 'Finalizar Compra';
$_['text_success'] 	= 'Sucesso';
?>
Alguém consegue dar uma luz?