Welcome to Zen Cart™

Dear Zen Cart User,

Zen Cart is made available to you for your use, addition, changes, modification, etc. without charge, under Version 2 of the GNU General Public License.

While we do not charge for this software, we greatly appreciate donations to help cover the expenses of maintenance, upgrades, updates, the free support forum and the continued development of this software for your online E-Commerce store. Please consider making a donation each time you install a new version.

Donations can be made on the Zen Cart Team Page

We appreciate your support.
The Zen Cart Team

About PHP versions

Zen Cart v1.5.8 is designed for PHP 7.3 to 8.2, with MySQL 5.7.8+ (or MariaDB 10.2.7+) and Apache 2.2/2.4

Upgrade Instructions

See the online docs for upgrading advice, including Release-Specific considerations to note regarding this version. https://docs.zen-cart.com/user/upgrading/

This document only mentions the actual changes specific to v1.5.8 since v1.5.7.

All Versions

If you are upgrading from the prior release, please do a standard site upgrade.

If you are upgrading from a release which is older than the prior release, you may wish to consider starting again using a database only upgrade.

Many older templates are going to be difficult to bring forward. If you are using an older template - especially one that is not responsive - you may wish to consider migrating to Responsive Classic or Bootstrap.

Be sure to review all the links in this article, including tips on staging the upgrade in a separate directory/folder.

If you are using Addons/Plugins that use modified versions of core Zen Cart files, you must compare those plugin files to the original Zen Cart files of the version for which those plugins were built, to identify the modifications. Subsequently you must replicate those modifications in the v1.5.8 file. Be sure to check the plugin's support thread to see if a new version has been released since the one you installed before.

CHANGELOG - List of Changed Files

For a list of files that have been changed since v1.5.7, see the changed_files-v1.5.8.html document.

Upgrading to a Responsive Template

If your site doesn't look good on a mobile phone or a tablet, it's likely because it's using an older non-responsive template. You can read about Responsive Templates on the help site to learn more.

If you are upgrading an older site, we recommend that you use a responsive template (rather than template_default or any older non-responsive template) as the starting point for your upgraded site. Both the Responsive Classic and Bootstrap templates are good candidates.

Upgrader Notes About Changes to template_default

Upgraders should make sure they update *BOTH* template_default *AND* their custom templates as described here

In Zen Cart the template_default directory contains the master copy of all storefront page templates.

The normal procedure for customizing template files for use in your own personalized template is to make a copy of the corresponding file from template_default, put it into your own template folder (and matching folder structure), and make your customizations in that copy of the file.

This way the only files you need in your personalized template folder are those that you have altered in some way from template_default.

With that explained, it is important that whenever you upgrade your site, you should also inspect ALL the template_default files to determine which changes in those files need to be replicated in your customized files. Comparison/Merging Tools are essential for this process; see the Zen Cart Developer Tools for recommendations.

The process is simple: compare the template_default directory files from your *old* version to the template_default files in the *new* version, and replicate any differences in the files in your custom/personalized template in your store. If you based your template on responsive_classic, you should also compare and merge any changes from that template.

Then, and only after you have done all those comparisons and updated your customized files in your custom template folder, you will copy the template_default files from the new version into the template_default directory of your store.

This way you will be left with updated personalized files *and* updated template_default files.

Language Files in Zen Cart 1.5.8 and above

Upgraders from prior versions of Zen Cart will notice a signficant change to the language files in this version. Because of new stricter PHP standards, simply doing a define on language file constants (with multiple define operations being done when overrides were present) was not an approach that could be used.

Zen Cart now uses Array based language files. For plugins with language files which are not overridden, the older style may still be used.

If you're doing an upgrade and are worried about all the language file changes you'll have to figure out, rather than porting *all* your customizations, you may want to start small and add customizations as they are needed. Many older templates made unnecessary changes which you will not want to carry forward. See basic language file customizations for a minimal starting list.

For developers with language skills wishing to provide a translation, developer information on Array based language files is provided.

What's New ... Changes from prior versions

The fixes/changes in v1.5.8a since v1.5.8 include:

  • (Note: no database changes between v158/v158a, so no need to run zc_install again if v158 is already installed.)
  • Admin: Separate flags for display images on packingslip and invoice.
  • Admin: Add legend to EZ-Pages admin page.
  • Admin: Aliases added for renamed functions to make plugin upgrading easier.
  • Admin: Dashboard order status links fixed.
  • Admin: Fixed search to accomodate special characters.
  • Admin: Search box removed during add by ID for specials, featured pages.
  • Admin: Updated CKEditor for HTML5 compliance.
  • Core: Addition of aliases for renamed functions.
  • Core: Improve compliance with PHP 8.2 rules.
  • Core: Show language_id in debug logs to assist in handling language file fixing in multilanguage stores.
  • Documentation: Added upgrade document back into the distribution.
  • Storefront: Added support for template_init scripts to be run when switching templates.
  • Storefront: Allow plugins to skip substring matchine language file loads for legacy files.
  • Storefront: Removes requirement for USD as a currency when using PayPal.
  • Storefront: Transaction id missing from PayPal email fixed.
  • Storefront: AJAX checkout updated for PHP8.
  • Templates: Allow a template to register as single column only.
  • Upgrade: Resolved zc_install upgrade checks affecting sites using prefixes.
  • Upgrade: Running zc_install under PHP 8.2 now works.

The most notable improvements and bugfixes in v1.5.8 since v1.5.7 include:

  • Admin: Option Name Comments now have configurable positioning (above or below the option).
  • Admin: Improved dashboard performance.
  • Admin: Implement "forget" option for customer deletion to support GDPR.
  • Admin: multiple per page javascript now supported in Admin.
  • Admin: multiple per page CSS now supported in Admin.
  • Admin: more notifiers.
  • Admin: Improved appearance of pages: Manufacturers, EZ-Pages, Countries.
  • Admin: Manufacturers edit page now allows you to feature specific manufacturers on the storefront Brands page.
  • Admin: Warning when downloadable products are misconfigured, both on Downloads Manager and shipping module screens.
  • Admin: Product search in admin improved.
  • Admin: Show image when viewing categories containing products.
  • Admin: Indicate on listing page if product has quantity discounts.
  • Admin: Copy product now correctly copies downloads.
  • Admin: Copy product works on products with long names.
  • Admin: Help now available for modules.
  • Admin: Correct issues in Media Manager.
  • Admin: Delete, Move or Copy of product from search results now operates as expected.
  • Admin: Customers can now be assigned to multiple groups.
  • Admin: Improve performance of Orders page.
  • Admin: Simplify switching display options on orders, invoice and packingslip pages.
  • Admin: (Optionally) show zone information on Orders page.
  • Admin: Layout boxes controller improvements.
  • Admin: Address formats extended and updated.
  • Admin: Extend Store Manager's Cleanup Debug Log Files function to remove Square and Bambora logs.
  • Admin: Correct counts for queries split over multiple pages.
  • Admin: "Send Copy" email fields can now be cleared when not needed.
  • Core: Stores may be configured to return HTTP 200 for disabled products instead of HTTP 404.
  • Core: Detect bad URL input and avoid creating PHP logs.
  • Core: Rename "Advanced Search" to simply "Search".
  • Core: Added notifier hooks on add-to-cart attempt, contact us email, change shipping/payment info.
  • Core: Event aliasing added so notifier names can be changed without breaking older plugins.
  • Core: Continued function consolidation initiated in 1.5.7.
  • Core: Renaming targeted functions to improve clarity.
  • Core: Language loading moved into arrays to prevent PHP duplication notices.
  • Core: Customer class introduced to consolidate customer table related logic.
  • Core: Manufacturer list not shown on search page if no manufacturers defined.
  • Core: Plugin manager improvements.
  • Core: Order weight now captured.
  • Core: Fix for orders being marked free shipping because of misconfigured downloadable product.
  • Core: Consolidated and improved JavaScript checks related to countries with states.
  • Core: Updates to vendor libraries jQuery, MobileDetect, phpMailer.
  • Core: Updates for PHP 8.1 and 8.2.
  • Email: Improved appearance of HTML email.
  • Storefront: Log account creation IP Address for fraud tracking and GDPR delete requests.
  • Storefront: Improve checkout flow labels and descriptions.
  • Storefront: Shop by Brand page added, listing all your manufacturers, with featured manufacturers at the top.
  • Storefront: Account History page is now paginated.
  • Storefront: About Us page is now built in.
  • Storefront: The Order Status page (from the One Page Checkout plugin) now built in.
  • Storefront: Site Specific define file provided to permit customization without modifying core files.
  • Storefront: Continue button on checkout_payment page is disabled if the Terms and Conditions tick box is present and not ticked.
  • Storefront: Option Name Comments may now be displayed above or below the option via an admin setting.
  • All known v1.5.7 bugfixes and security fixes are included in v1.5.8.
  • ... and many other incremental improvements to make Zen Cart more efficient, more robust and easier to use.

A detailed list of all edits to all files can be seen on Github at: v1.5.7...v1.5.8

^^ Back to Top ^^

Help and Support

For additional help and support, visit the Zen Cart Docs and the Zen Cart Support Forum.

Zen Cart is derived from: Copyright 2003 osCommerce

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
and is redistributable under Version 2 of the GNU General Public License.

O S I Certified
This software is OSI Certified Open Source Software.
OSI Certified is a certification mark of the Open Source Initiative.

Copyright 2003 - 2023 Zen Ventures, LLC

Zen Cart
www.zen-cart.com