I want all products from the shopping cart deleted when a user logs out or session ends - irrespective of whether they ordered or not.
Is there way to do this?
Thanks!
I want all products from the shopping cart deleted when a user logs out or session ends - irrespective of whether they ordered or not.
Is there way to do this?
Thanks!
It is easier to do this when the customer logs in as you do not know when the customer logs out ... or more specifically, you know the customer is logged out but you don't know who the customer is as the session dies first ...
So, in the login header where you normally restore the cart you would want to empty it for the customer ...
/includes/modules/pages/login/header_php.php
You don't want to just skip the restore as it is getting what is in the database tables so you need to reset it ...
Changing:
to read:PHP Code:
// bof: not require part of contents merge notice
// restore cart contents
$_SESSION['cart']->restore_contents();
// eof: not require part of contents merge notice
PHP Code:
// bof: not require part of contents merge notice
// restore cart contents
$_SESSION['cart']->restore_contents();
// eof: not require part of contents merge notice
$_SESSION['cart']->reset(true);
Linda McGrath
If you have to think ... you haven't been zenned ...
Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!
Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today: v1.5.5]
Officially PayPal-Certified! Just click here
Try our Zen Cart Recommended Services - Hosting, Payment and more ...
Signup for our Announcements Forums to stay up to date on important changes and updates!
Thanks... that does seem to reset the existing cart... however all of the 'temporary' visitors cart items are also deleted.
I just want the previous shopping cart items deleted. So when the visitor shops again and adds items, then logs in he gets only the current products he's added and nothing from the previous session.
HELP!!
Good point.
Changing it like this should work:
becomes:PHP Code:
// restore cart contents
$_SESSION['cart']->restore_contents();
PHP Code:
$current_cart = $_SESSION['cart']->contents;
$_SESSION['cart']->reset(true);
$_SESSION['cart']->contents = $current_cart;
$_SESSION['cart']->calculate();
.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole
Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.
Thanks very much! This has solved it!
For anybody doing this , when the customer logs out the message says "You have been logged off ....... If you had items in your cart they have been saved , they will be restored when you return"
Well if you made the changes above thats not the case anymore , you'll need to change the message they see by editing this file:
- includes/languages/english/logoff.php
Bookmarks