How to install and customize-personalize Zen-Cart

October 28, 2011
Tutorial help: how to find settings to set up, customize, Zen-Cart Fast.
What Zen-Cart Won’t Tell You

Running the installation program is easy. The time consuming part is removing their sample store demo files and changing ZC’s settings which are scattered all over. I made changes to the html several times because I did not know there was some setting in admin. The admin menu and files are too convoluted, not intuitive at all, which is the main reason for this page.

1. un-zip your downloaded current zen-cart zip file twice. (“How to get the Zen-cart files” is mentioned below) You want 2 copies in 2 separate folders; one for you to keep on your pc with everything in it (including the docs you will read), and one trimmed down to only what you need to copy up to your server.

2. delete the “demo store” from the copy you will up-load.

  • Delete all the music-records-media program-files and images that go with the dvd, cd, and computer stuff, “demo store”. Get the list at our “Delete the Zen-Cart Store Demo…” page and delete them.
  • Delete the Docs folder and perform all the file preparations required in the installations script:
    set all files to 644 and all folders to 755 then move/rename the configs and handle the exceptions:


rm -f install.txt
rm -f license.txt
rm -f robots_example.txt
rm -rf docs
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
mv includes/dist-configure.php includes/configure.php
chmod 666 includes/configure.php
mv admin/includes/dist-configure.php admin/includes/configure.php
chmod 666 admin/includes/configure.php
chmod 777 cache
chmod 777 images
chmod 777 includes/languages/english/html_includes
chmod 777 media
chmod 777 pub
chmod 777 admin/backups
chmod 777 admin/images/graphs
mkdir images/categories
mkdir images/products
chmod 777 images/categories
chmod 777 images/products
find includes/languages/english/html_includes/ -type f -exec chmod 666 {} \;
chmod 644 includes/languages/english/html_includes/*.php
chmod 644 includes/languages/english/html_includes/classic/*.php

When the database gets built (the install procedure) there will be more to delete then also.


ZC template folder structure
(–>2 = 2 more template folders)
Wherever you see a folder named
“classic” you can safely add
your own /CUSTOM folder.

3. go to Zen Cart’s templates,
www.ZenCartTemplates.info/templates.html and pick a few free templates to download and look at. When choosing, the top image(s) won’t matter if you plan to use something of your own. the looks of the sidebars and the files involved, may be more important. (one I downloaded had a lot more images and .css files than the others and I skipped it. Another (bookshelf) had a folder (html_includes) in the wrong place and by looking at ZC, I was able to move it correctly [from includes/languages/html_includes to includes/languages/english/html_includes/bookshelf/ after creating the bookshelf folder and moving the files into it] )

In all cases, when you un-zip them, you will find a read-me or instructions file of some name, telling the basics about activating it. Installing the files of a template only requires copying the folders (under includes/) in with all the other ZC folders. … so that they are side-by-side with the classic/ (and template_default/) folders included with ZC. For example, when you go to the main ZC folder and from there, to the includes folder, you will see the folders shown in the print-screen on the right. Mainly, the bottom 3 folders inside includes/ (languages, modules, and templates) are the 3 which contain the template folders.

You don’t want to make changes to the default “classic/” template (or to anything inside the template_default/ folder) because when you upgrade to the next release of ZC, it will get overwritten. (if you did, rename all the classic/ folders, that you made changes in, to some name of your own and then go into the admin area and tell it your new name, then go to the … Tools –> Template Selection –> Edit (button) … and select your new folder’s name … and then to the Tools –> Layout Boxes Controller –> Reset (bottom button) … to re-activate all the side column boxes.)
Why the Layout-Boxes-Controller goes berserk sometimes after changing templates, I don’t know! It shouldn’t.

4. The included ZC install.txt file says to go to the docs/ folder, also in the un-zipped files collection, and open the docs/index.html file in your browser, and read the instructions, mainly the “Read me first — Installation” page. It has fairly good step-by-step instructions, other than forgetting to mention getting a template. Leading up to running the install program, it mentions making several folders read-write-able by everyone – tedious if you had to do it for all those image sub-folders – and rename or copy 2 “dist-configure.php” files to “configure.php” and make them writeable by everyone (one in includes/ and the other in admin/includes/). Of course, create a new, empty, database for ZC and a db user and password, (if you don’t already have one to use).

When you are ready to run the install program, it is good to know that the program will verify that you have done the preliminary steps and stop and wait for you to do anything that you forgot. When it is all ready and you give it the “go ahead”, it will complete and you will be, “up and running”. As they suggest, you should go to the admin prompt ([catalog]/admin/) and log in; look around and find the “Online Catalog” link, up in the dark green bar and click on it to bring up another tab or window to see your cart as a customer will … before deleting the installation folder and before telling it your theme and doing more clean-up, etc.. (From here on you have to manually add the admin folder name to your ZC address to get to the admin login prompt … something like www.yoursite.com/[catalog]/admin ? for your security there are no links to admin. When you change the name of it, only you will know the new name of your admin folder and you type it in manually – only you and your computer know it. However, the best security is to make your computer, your IP address, the only one which can access it, regardless. More on that later.) When you feel that everything works, you need to copy down to your pc, the 2 configuration.php files so that you have the new, “installed”, versions of them on your pc, to keep your backup copy up-to-date. Those are the only 2 files modified by the install program. Now, your copy is up-to-date with your server again.

Now is the time to delete or at least rename and then delete soon, your installation folder.

Now is also a good time to rename your admin folder and go into [catalog]/admin/includes/configure.php and find the 3 “define” lines where “/[catalog]/admin/” is mentioned and change admin to your new name. Since you just downloaded it to your pc, update your copy of it and then upload it and rename the admin folder to match. Log in to www.yoursite.com/[catalog]/[new-admin-name]/ and verify that you can still get in – with the new folder name and the configure.php file informed about it.

5. Now that your cart is up and the database is built,
you can finish cleaning up and trying your templates:

A. Cleanup: If you have your own server, go to your phpMyAdmin your own way, otherwise;
At your web hosting provider: Login to your web hosting control panel (cPanel maybe), open phpMyAdmin, select your Zen Cart database and click on the SQL tab. In the query box, cut and paste in the “drop”, “truncate”, and “delete” commands (“queries”) at our “Delete the Zen-Cart Store Demo…” page, and click “Go”.
Security Risk Note: Do NOT open tabs to other sites while you have an active admin login session running.

B. re-set config.php’s and remove zc_install:

chmod 644 includes/configure.php
chmod 644 admin/includes/configure.php
rm -rf zc_install

C. your Template(s):
ZC-admin-tools-templateSelection-edit
Hover over “Tools” then click “Template Selection”, then “Edit” and select one from the drop down box, and click “Update”.
Then, hovering over Tools, again, select “Layout Boxes Controller” and at the bottom of the page, click “Reset”. … because of a bug they have never bothered to fix. (!)
Now, take a look at your shopping cart with your new/chosen template.

desktop theme HEADER
header image and text:
in includes/languages/english/{your-template}/header.php
define('HEADER_ALT_TEXT', '');
# was 'Powered by Zen Cart :: The Art of E-Commerce [home link]'
define('HEADER_SALES_TEXT', ''); # was ' < h1> Sales Message Goes Here < /h1>'
define('HEADER_LOGO_WIDTH', ''); # '358px');
define('HEADER_LOGO_HEIGHT', ''); # '80px');
define('HEADER_LOGO_IMAGE', '../../my-logo.jpg');
# = includes/templates/my-logo.jpg was 'logo.gif' ? );

and copied my-logo.jpg to includes/templates/

For the background header image, see the
includes/templates/{your-template}/css/stylesheet.css

FOOTER
in includes/languages/{your-template}/english.php
changed to define('FOOTER_TEXT_BODY', ''); … or whatever you like.
highly advised to use utf-8 (it is almost everywhere else in zc)
changed to @setlocale(LC_TIME, 'en_US.utf8'); # from ‘en_US.ISO_8859-1’
changed to define('CHARSET', 'utf-8'); # from ‘iso-8859-1’);
also in admin/includes/languages/YOUR_LANGUAGE.php

changed to setlocale(LC_TIME, 'en_US.utf8'); # from ‘en_US.ISO_8859-1’

HOME PAGE
to remove
“Congratulations! You have successfully … Solution.”
go to /includes/languages/english/[template]/index.php
If it does not exist, copy it from the /english/ folder above
emptyed definitions on lines #14 and #16 (if file totally double-spaced, remove the blank lines)

blank out:
define('TEXT_GREETING_GUEST', '');
# was ‘Welcome Guest! Would you like to < a href="%s"> log yourself in < /a>‘);
} else {
define('TEXT_GREETING_GUEST', '');

# was ‘Welcome, please enjoy our online showcase.’);

emptied 2 copies of a definition on lines #52 & #56
define('HEADING_TITLE', ''); # was 'Congratulations! You have successfully installed ... ');
define('HEADING_TITLE', ''); # was 'Congratulations! You have successfully installed ... ');

in the top of includes/languages/english/{your-template}/meta-tags.php

lines changed; 12, 15, 18, 67:
// page title
define('TITLE', '{name of your web-site}'); # was ‘{your-template}’);

// Site Tagline
define('SITE_TAGLINE', ''); # was ‘Free Zencart Template’);

// Custom Keywords
define('CUSTOM_KEYWORDS', ''); # was ‘free, template, design, skin, ecommerce, open source, shop, online shopping’);

define('FAVICON','/images/favicon.gif'); # was ‘favicon.ico’);

… more to come.

How to get the Zen-cart files
Go to http://www.zen-cart.com/
and click “Download”.
It will take you to SourceForge.net where you will get a pop-up window to download the current version of ZC (zen-cart-v1.3.9x-full-fileset-mmddyyyy.zip)

Next year, 2011, a new major release will come out to satisfy demands of the credit card processing services, namely Authorize.net



from http://tutorials.zen-cart.com/index.php?article=139

After installation, you’ll want to address several ADMINISTRATIVE things to get your basic shop operational.

One suggested order of operations is the following:

System Setup / Settings
Admin >> Configuration >> My Store
— Basis of Product Tax — choose what level tax is calculated at
— Basis of Shipping Tax — choose what level tax is calculated at for shipping
— HTML Editor — select your editor for product descriptions and emails/newsletters

Admin >> Configuration >> Images
— verify that the image sizes are acceptable for your setup

Admin >> Configuration >> Customer Details
— choose whether various components are displayed/requested or not
— If you require authorization for customers to access your store, choose those settings here as well

Admin >> Configuration >> Shipping/Packaging
— verify the Country of Origin
— Set the Postal/ZIP Code (if you don’t, your shipping quotes won’t work)

Admin >> Configuration >> Email-Options
— if you want to send HTML-based emails, turn on Use MIME HTML when Sending…
— set the format of emails for Admin to receive
— set the email address and status for all “extra” emails. These are copies sent to the admin when various messages are sent to the customer.

Admin >> Configuration >> gzip Compression
— enable gzip Compression if your server supports it… this makes page display much faster, in most cases

Admin >> Catalog >> Manufacturers
— Enter the manufacturers that your products will be linked to

Admin >> Configuration >> Credit Cards
— choose which cards to enable acceptance for. This does NOT turn on payment processing. Just a check for later.

Admin >> Modules >> Payment
— select and configure any desired payment methods

Admin >> Modules >> Shipping
— select and configure any desired shipping providers

Tax Setup
Admin >> Locations/Taxes >> Zones Definitions
— Insert applicable tax zones for the regions in which you must collect tax
Admin >> Locations/Taxes >> Tax Classes
— Create classes for the varying tax combinations you must assign to a product.
In most cases, you only require one category.
Admin >> Locations/Taxes >> Tax Rates
— Link tax classes and zones and enter the tax rate for those combinations here.

Admin >> Localization >> Currencies
— configure the various currencies your shop will accept/process.

Admin >> Localization >> Languages
— Set up the languages you wish to support in your shop.
Note that to enable a language requires that you upload the language-pack to your webspace.
Be sure that the language pack you load is suitable for the Version of Zen Cart you’re running.

CATEGORIES/PRODUCTS
Now that you’ve done basic setup, you can enter your categories and products

Admin >> Catalog >> Categories/Products
— Add new categories to hold your products
— Add new products within relevant categories

– The Products URL is an external link where the customer can go to see more information about this product. If it’s a link to an HTML page on your site, enter the full URL to that page.


the text “Sales Message Goes Here” is located in includes/languages/english/[your-template]/header.php

change this:
define(‘HEADER_ALT_TEXT’, ‘Powered by Zen Cart :: The Art of E-Commerce [home link]’);
define(‘HEADER_SALES_TEXT’, ‘<h1>Sales Message Goes Here</h1>’);
define(‘HEADER_LOGO_WIDTH’, ‘200px’);
define(‘HEADER_LOGO_HEIGHT’, ’70px’);
define(‘HEADER_LOGO_IMAGE’, ‘logo.gif’);
to this:
define(‘HEADER_ALT_TEXT’, ‘your-web-site.com’);
define(‘HEADER_SALES_TEXT’, ”);
define(‘HEADER_LOGO_WIDTH’, ‘???px’);
define(‘HEADER_LOGO_HEIGHT’, ‘???px’);
define(‘HEADER_LOGO_IMAGE’, ‘your-logo.jpg’);
(or, whatever…)

how to turn off nightmare active link:
edit -> preferences -> general -> “Automatically detect URLs from text”
UN-check it!

Leave a Reply

We try to post all comments within 1 business day