Page 1 of 1

Link in bevestigings mail werkt niet goed

Posted: Tue Feb 14, 2012 9:45 pm
by masterh
Hi ,

Ik heb het volgend probleem:
In de bevestigingsmail aan de klant staat een link om de bestelling te bekijken. Indien de klant niet is ingelogd volgt er na het klikken op de link de volgende error:
Notice: Undefined variable: order_id in /website.nl/public_html/catalog/controller/account/order.php on line 110Warning: Cannot modify header information - headers already sent by (output started at /website.nl/public_html/index.php:104) in /website.nl/public_html/vqmod/vqcache/vq2-system_engine_controller.php on line 28Warning: Cannot modify header information - headers already sent by (output started at /website.nl/public_html/index.php:104) in /website.nl/public_html/vqmod/vqcache/vq2-system_engine_controller.php on line 29
Indien de klant wel is ingelogd werkt alles prima.
Werk met versie 1.5.1



Iemand een idee?

Re: Link in bevestigings mail werkt niet goed

Posted: Tue Feb 14, 2012 9:46 pm
by i2Paq
masterh wrote: Iemand een idee?
Bug, zoek maar eens goed.

Opgelost in latere versies.

Re: Link in bevestigings mail werkt niet goed

Posted: Tue Feb 14, 2012 9:52 pm
by masterh
Ok, gezocht in het Nederlands en niet gevonden. Ga nu zoeken in het engels of er een oplossing (behalve updaten naar de laatste versie) voor is.

Re: Link in bevestigings mail werkt niet goed

Posted: Tue Feb 14, 2012 10:23 pm
by masterh

Re: Link in bevestigings mail werkt niet goed

Posted: Thu Mar 29, 2012 1:18 am
by spikecity
Ik heb deze fout gefixt door de code in catalog/controller/account/order.php iets te reorganiseren zodat de variabele $order_id gedefinieerd is voordat de link wordt geredirect (en dus deze var nodig heeft)

order.php aangepast:

Code: Select all

	public function info() { 
		if (isset($this->request->get['order_id'])) {
			$order_id = $this->request->get['order_id'];
		} else {
			$order_id = 0;
		}	

		if (!$this->customer->isLogged()) {
			$this->session->data['redirect'] = $this->url->link('account/order/info', 'order_id=' . $order_id, 'SSL');
			
			$this->redirect($this->url->link('account/login', '', 'SSL'));
    	}
order.php origineel:

Code: Select all

	public function info() { 
		if (!$this->customer->isLogged()) {
			$this->session->data['redirect'] = $this->url->link('account/order/info', 'order_id=' . $order_id, 'SSL');
			
			$this->redirect($this->url->link('account/login', '', 'SSL'));
    	}
			
		$this->language->load('account/order');
		
		if (isset($this->request->get['order_id'])) {
			$order_id = $this->request->get['order_id'];
		} else {
			$order_id = 0;
		}	
Niets toegevoegd dus, alleen de order_id request routine verplaatst naar binnen public function info()