Save For Later
Save For Later is a Zen Cart™ contribution which allows
customers to remove items from their cart temporarily but still
keep those items in view for later purchase. It is modelled after
Amazon.com, which also features "save for later" buttons on the shopping cart page.
Donate! Show your appreciation by
supporting my efforts.
Relevance: Zen Cart™ 1.3.8
Cost: Free, but
donation appreciated
Installation: click here
Installation Difficulty: Low-Moderate
See it Live: Go to
my test cart and add a product to your cart. You will see the
Save For Later button on the Shopping Cart page. To test this feature,
you will need to create an account.
Location: Zen Cart Downloads page, under Marketing Tools.
Download: Save For Later on the Zen Cart Downloads Page
Current Version: 1.1
Support Thread: Save For Later Support Thread
FAQ: click here
Overview:
This contribution provides a mechanism to
allow customers to "save for later" items they don't wish to purchase
immediately.
Here's what it looks like when Amazon does it.
Amazon.com Shopping Cart Page displaying Save For Later
To save space, I used up and down arrows. These can be replaced
if you prefer buttons with text on them.
When an item is added to the cart, the down arrow allows the customer to save the item for later.
Shopping Cart Page displaying Save For Later
When the Save For Later button is pressed, the item appears below the cart contents. It can be moved back into the cart by pressing the Move To Cart button.
Shopping Cart Page with Save For Later items
Here is a cart with both current contents and Save For Later items.
I
recommend specific settings for Admin->Configuration->Stock, but you can use whichever ones you prefer.
You can see here what it looks like with different settings.
Installation Instructions:
This mod assumes your template name is "custom." If you have used
another template name, use that name when installing this mod
instead of custom.
- Back up everything! Try this in a test environment prior to installing
it on a live shop.
- Unzip the file you have received.
- Copy the contents of the unzipped folder to the root directory of your
shop.
- Run the sql script mysql_sfl.sql against your database.
You can do this in phpMyAdmin or you can
use your Zen Cart admin panel under Tools->Install SQL patches.
If you are using phpMyAdmin and have used
a prefix in your database, modify mysql_sfl.sql to reflect this (i.e.
change "customers_basket_later" to "zen_customers_basket_later" if your prefix is "zen_", and make the same change for "customers_basket_later_attributes").
- Donate! Show your appreciation by supporting my efforts.
Recommended but Optional Tweaks:
- I recommend setting Admin->Configuration->Stock->Show Shopping Cart - Delete Checkboxes or Delete Button to the value of 1 (Delete button only). It's one less thing to crowd the screen, and it's the way Amazon does it. Similarly, the value Show Shopping Cart - Update Cart Button Location should be set to 2 for the same reason.
- By default the header displays the shopping cart link only if products are
in the cart. You can change this by editing includes/templates//common/tpl_header.php and changing:
<?php if ($_SESSION['cart']->count_contents() != 0) { ?>
<li><a href="<?php echo zen_href_link(FILENAME_SHOPPING_CART, '', 'NONSSL'); ?>">
<?php echo HEADER_TITLE_CART_CONTENTS; ?></a></li>
to
<li><a href="<?php echo zen_href_link(FILENAME_SHOPPING_CART, '', 'NONSSL'); ?>">
<?php echo HEADER_TITLE_CART_CONTENTS; ?></a></li>
<?php if ($_SESSION['cart']->count_contents() != 0) { ?>
- You can add descriptive text about Save For Later to the shopping cart help
screen by copying the file
includes/languages/english/info_shopping_cart.php
into
includes/languages/english/<your template>/info_shopping_cart.php
Modify SUB_HEADING_TEXT_2 to describe Save For Later.
Or, if you prefer, update the string TEXT_INFORMATION in
includes/languages/english/<your template>/shopping_cart.php
Installation Issues:
- If you're having trouble installing this mod, it's likely that your merge of the shopping cart template page has failed. Install the one from this contribution, test, and then merge your changes in (instead of vice versa).
How Save For Later Works
- When "Save for Later" is pressed, the item, along with its attributes
and quantity, are moved to the Save For Later area. If an identical item exists already in the Save For Later area, the quantity of that item is increased. The item is then removed from the cart.
- Quantities are stored but not displayed in the Save For Later area.
- When "Move To Cart" is pressed, the item, along with its attributes
and quantity, are moved to the cart. If an identical item exists already
in the cart, the quantity of that item is increased accordingly.
The item is then removed from the Save For Later area.
- In the case of items with attributes, the word "identical" means
"with identical attribute settings."
- All attributes, including File and Text attributes, are
preserved during Save For Later and Move To Cart operations.
- If there is a max constraint on the item, it is respected during the Move to Cart process.
- You must be logged in to use Save For Later.
- Price changes are reflected in Save For Later items immediately.
- The checkout and shipping estimator buttons are not shown if you have no products in your cart.
Like Save For Later?
I have
lots of other cool software to soup up your shopping cart page
and the rest of your Zen Cart.
Please consider supporting my work by
buying software or
making a donation.
FAQ
Q: I would like to replace the up and down arrows with buttons that have text on them. How do I do it?
A: First, place the two new button images into the directory
includes/templates/<your template>/buttons/english/
Then, assuming the filenames have changed, edit the file
includes/languages/english/extra_definitions/sfl_defines.php
and change the definitions BUTTON_IMAGE_SAVE_FOR_LATER and
BUTTON_IMAGE_MOVE_TO_CART.
For your convenience, here are a couple of sets of buttons I created
with the
Zencart Button Generator.
| 10 point font |
 |
 |
| 8 point font |
 |
 |
Q: The styling of my shopping cart page looks different in
the table heading above the
Save for Later icon. Why?
A: You have styled the scQuantityHeading id. Copy this styling
to the scSFLHeading id. To apply these same stylings to the
Saved Items table, style the ids sfl_scMoveToCart, sfl_scProductsHeading, sfl_scUnitHeading, sfl_scRemoveHeading and sfl_scUpdateQuantity.
Q: The cart contents table looks squeezed. How can I make it wider?
A: Assuming you have sideboxes on the right, the best way is to turn off your right sideboxes on the shopping cart page. This will give you 150px (default) more room, and will
reduce distractions on this critical page. It's an easy change:
copy the file
includes/templates/template_default/common/tpl_main_page.php
to
includes/templates/<your template>/common/tpl_main_page.php
In your template copy of tpl_main_page.php, search for the line
if (!isset($flag_disable_right) || !$flag_disable_right) {
Immediately above it, add the code
if ($body_id == "shoppingcart") {
$flag_disable_right = true;
}
This will create a much wider space for both your cart contents
and the items which have been saved for later.
So now instead of a narrow cart like this:
you will have a wide cart like this
If you don't have sideboxes on the right, it can be done entirely using the admin panel;
go to Admin->Configuration->Layout Settings, and set
"Column Width - Right Boxes" and
"Column Width - Right" to 0px.
Q: How can I find how many people are using Save For Later?
A: Run the following query against your database in phpMyAdmin:
SELECT count(DISTINCT customers_id), count(distinct products_id) from customers_basket_later;
Want more Zen Cart?
Tips and Tricks
Contributions
Extensions
Custom Software
Newsletter