Fórum OpenCart Brasil

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

Suporte para módulos, formas de pagamentos e formas de envio para OpenCart v1.x.
#27146
Olá pessoal!

Atualizei todo o site para as novas versões, porém está ocorrendo um probleminha após finalizar a compra no site do pagseguro quando retorna para minha pagina, o que acaba por desconfigurar o layout da página. (Todo o processo do pagseguro ocorre normalmente exceto o retorno à pagina, vide imagem abaixo)

Imagem


Notice: Undefined index: last_order_id in /home/proavesc/public_html/catalog/controller/checkout/success.php on line 66Notice: Undefined index: last_order_id in /home/proavesc/public_html/catalog/controller/checkout/success.php on line 66

Obs: Moderadores gentileza apagar este https://forum.opencartbrasil.com.br/ ... 976#p26976 acho que abri no lugar errado.

Desde ja agradeço a atenção de todos.

Parabéns à comunidade.
#27691
chiriro escreveu:Acredito que seja uma variavel desconhecida que não é utilizada nesta nova versão do open que você atualizou, é só apagar as relações com ela nas linhas citadas
Olá chiriro! Obrigado por responder!
Na verdade só conheço o básico de php, o suficiente pra mexer aqui e ali.
Acredito também que o problema está com a variável, pelo que pude perceber (posso estar errado) após a conclusão do pagamento pelo pagseguro o mesmo retorna para o site, pela pagina "success.php" conforme escrito acima ou a variável com o nº do pedido não é enviada de volta ou não sei o que pode ser, na verdade não sei mesmo :mrgreen:

O correto seria retornar o nº do pedido vide imag abaixo
Imagem


Porém está retornando sem o número do pedido (a variável citada) ocasionando o erro descrito
Imagem

Ja tentei reinstalar tudo, opencat, módulo pagseguro, mas o problema persistiu, se puder dar uma luz ficarei mais uma vez muito grato.

Seria interessante saber também se o problema só acontece comigo, sendo assim saberei que o problema realmente está aqui. :(

Obrigado

Abraço
#27986
Ola chiriro!

Desculpe a demora na resposta.

Essa é a linha 66 onde ocorre o erro
Código: Selecionar todos
$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'));
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());
  	}
}
?>
Obrigado pela ajuda!

Abraço