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
Zen Cart v2.0.x is designed for PHP 8.0 to 8.3, with MySQL 5.7.8+ (or MariaDB 10.2.7+) and Apache 2.2/2.4.
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 v2.0.x since v1.5.8a.
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 release version of the 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.
Always review the Release Specific Upgrade Considerations for the release you are upgrading to all the way back to the release you are upgrading from.
For a list of files that have been changed since v1.5.8a, see the changed_files-v2.0.0.html document.
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.
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.
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 from a pre-1.5.8 Zen Cart version and are worried about all the language file changes you'll have to figure out, there is another option. 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.
A detailed list of all edits to all files can be seen on Github at: v1.5.8a...v2.0.0
For additional help and support, visit the Zen Cart Docs and the Zen Cart Support Forum.