Post by dengine » Tue Aug 02, 2011 3:50 am

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.

OpenCart Developer sinds versie 1.4.9.3. Inmiddels volledige CMS geïntegreerd binnen OC 1.5. Sta open voor uitdagende custom uitbreidingen en custom themes, inclusief responsive design.

GEMAAKT MET OPENCART
http://www.worldofbessy.com
http://www.kiddycolors.com
http://www.ke-works.com
http://www.trendyard.nl
http://www.bigliftshipping.nl
http://www.kosterklokken.nl


New member

Posts

Joined
Sun Mar 06, 2011 6:52 pm
Location - Colijnsplaat / Den Haag

Post by Maxmannl » Thu Feb 09, 2012 9:28 pm

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?

Trapmatten24 - Whiteboard-Flipover.nl - Kleed.nl - Rubbermatten24.nl - Sidebars24.nl


Newbie

Posts

Joined
Thu Feb 09, 2012 9:21 pm

Post by dengine » Thu Feb 09, 2012 9:33 pm

Ik heb dit voor versie 1.4.9.3 gebruikt maar de code zou je zonder problemen over kunnen nemen voor andere versies.

OpenCart Developer sinds versie 1.4.9.3. Inmiddels volledige CMS geïntegreerd binnen OC 1.5. Sta open voor uitdagende custom uitbreidingen en custom themes, inclusief responsive design.

GEMAAKT MET OPENCART
http://www.worldofbessy.com
http://www.kiddycolors.com
http://www.ke-works.com
http://www.trendyard.nl
http://www.bigliftshipping.nl
http://www.kosterklokken.nl


New member

Posts

Joined
Sun Mar 06, 2011 6:52 pm
Location - Colijnsplaat / Den Haag

Post by Maxmannl » Thu Feb 09, 2012 9:37 pm

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.

Trapmatten24 - Whiteboard-Flipover.nl - Kleed.nl - Rubbermatten24.nl - Sidebars24.nl


Newbie

Posts

Joined
Thu Feb 09, 2012 9:21 pm

Post by jamievs » Thu Feb 09, 2012 11:44 pm

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 ???

Newbie

Posts

Joined
Thu Feb 09, 2012 5:24 pm

Post by Maxmannl » Fri Feb 10, 2012 10:48 pm

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

Trapmatten24 - Whiteboard-Flipover.nl - Kleed.nl - Rubbermatten24.nl - Sidebars24.nl


Newbie

Posts

Joined
Thu Feb 09, 2012 9:21 pm
Who is online

Users browsing this forum: No registered users and 2 guests