Page 1 of 1

[mod] Verder winkelen vanuit shoppingcart

Posted: Tue Aug 02, 2011 3:50 am
by dengine
Standaard als je in OC naar je shoppingcart gaat staat er onderin een knop "verder winkelen". Ik vindt het zelf niet praktisch dat deze je naar de homepage teruggestuurd en niet naar bijv. de laatste pagina waar je producten hebt bekeken. Om dit wel mogelijk te maken heb ik de volgende oplossing:

Stap 1
Voeg de volgende functie toe aan de Controller class in de core. (engine/controller.php)

protected function getcurrenturl() {
$url = 'http://' .$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
return htmlentities(strip_tags($url));
}

Deze functie geeft de huidige URL van de pagina terug.

Stap 2
Om de pagina op te slaan die we willen voeg je onderstaande code toe in de de controller van de desbetreffende pagina. Ik heb dit zelf gedaan bij category, manufacturer, search en special. Dit zijn allemaal pagina's waar producten op staan en ik het prettig zou vinden om naar de juiste afdeling en bijv pagina 5 van 20 te kunnen gaan. Voed dus onderstaande code toe in de controller, ik heb m zelf als eertse in de index functie gezet van elke controller.

$this->session->data['last_page'] = $this->getcurrenturl();

Bij elke pagina die je bezoekt waar deze code in de controller staat wordt de huidige waarde overschreven met de nieuwe. Er is dus altijd maar 1 URL beschikbaar. Ik sla de URL op in een sessie zodat het voor een bezoeker mogelijk is om vanuit de cart naar bijv de contactpagina te gaan, terig te keren naar de cart pagina en alsnog verder te winkelen waar hij was gebleven.

Stap 3
Ga naar catalog/controller/checkout/cart.php en vervang dit:

$this->data['continue'] = HTTP_SERVER . 'index.php?route=common/home';

door dit:

if(isset($this->session->data['last_page'])){
$this->data['continue'] = $this->session->data['last_page'];
}else{
$this->data['continue'] = HTTP_SERVER . 'index.php?route=common/home';
}

Wat dit doet is controleren of de sessie een waarde heeft. Als dat zo is gebruikt ie deze voor de redirect, zo niet dan wordt je gewoon naar de homepage teruggestuurd.

Hopelijk heeft iemand er wat aan voor een betere user experience.

Re: [mod] Verder winkelen vanuit shoppingcart

Posted: Thu Feb 09, 2012 9:28 pm
by Maxmannl
Ik wil dit ook in onze webwinkels gaan inbouwen. Je handleiding zal me een stuk helpen iig. Voor welke versie van OC had je dit gebruikt?

Re: [mod] Verder winkelen vanuit shoppingcart

Posted: Thu Feb 09, 2012 9:33 pm
by dengine
Ik heb dit voor versie 1.4.9.3 gebruikt maar de code zou je zonder problemen over kunnen nemen voor andere versies.

Re: [mod] Verder winkelen vanuit shoppingcart

Posted: Thu Feb 09, 2012 9:37 pm
by Maxmannl
Ok mooi ga er morgen mee aan de gang met versie 1.4.9.4 zou geen problemen moeten opleveren. Ik laat het weten hoe het is gegaan.

Re: [mod] Verder winkelen vanuit shoppingcart

Posted: Thu Feb 09, 2012 11:44 pm
by jamievs
Wat word er precies bedoeld met Stap 2? Is dat een toelichting voor Stap 3 of moet ik in stap 2 ook nog iets doen ???

Re: [mod] Verder winkelen vanuit shoppingcart

Posted: Fri Feb 10, 2012 10:48 pm
by Maxmannl
Vandaag ingebouwd op kleed.nl werkt perfect :) thanks voor de duidelijk uitleg!

Stap 2 die regel moet je invoegen bij deze 3 bestanden category.php manufactor.php en search.php in de map /catalog/controller/product