Requirements for installation
Version 2.1
The requirements for Cartage are laid out on the Cartage homepage.
Although these are the basic requirements, this document goes in to more detail for the setup of these elements, to ensure that Cartage is installed correctly and with minimum hassle.
This document contains links to the Cartage FAQs, so is not suitable for printing.
Joomla! setup
SEF URLs
Cartage relies on SEF URLs to work. Specifically, it requires a link to cartage.html, which is the SEF URL for the main Cartage menu item.
These instructions detail how to set up SEF URLs, using the default Joomla! SEO tools.
Domain name
Unless it is otherwise specified, users can access your site through 2 ways, http://mysite.com or http://www.mysite.com. This causes problems with Cartage, as we license the product to one domain only. You will need to ensure that all visitors to your site are directed to the correct domain name.
This allows you to ensure that Zen Cart™ and Joomla! will always have the same domain, eliminating future potential errors with Javascript. It also helps your SEO, as only 1 domain will be indexed.
Please follow the Using one domain name only FAQ to ensure your site has the correct domain name.
Community Builder
To enable you to synchronise user accounts, you need to install this component and our plugin for it. If you are creating a brand new site, and users will only ever create accounts and login via Zen Cart™, then you can choose not to install Community Builder.
We recommend quite highly running through the basic Joomla! tests, to ensure that everything is set up and ready to go before Cartage is installed. This will greatly assist troubleshooting, and in most cases means it won't be required.
Zen Cart™ setup
How to setup Zen Cart™, to work with both Joomla! and Cartage
Installation
Zen Cart™ must be installed in a sub-directory of Joomla! e.g. www.myjoomla.com/myzencart or http://www.mysite.com/myjoomla/myzencart. Any other configuration will not work, including but not limited to installing Zen Cart™ into a sub-sub-directory.
In addition, Zen Cart™ database tables must use the same database as Joomla!. It is recommended that a table prefix of zen_ is used.
For the quickest setup time, name the sub-directory 'shop'.
Domain name
Unless it is otherwise specified, users can access your site through 2 ways, http://mysite.com or http://www.mysite.com. This causes problems with Cartage, as we license the product to one domain only. You will need to ensure that all visitors to your site are directed to the correct domain name.
This allows you to ensure that Zen Cart™ and Joomla! will always have the same domain, eliminating future potential errors with Javascript. It also helps your SEO, as only 1 domain will be indexed.
Please follow the Using one domain name only FAQ to ensure your site has the correct domain name.
Cartage setup
How to setup Cartage, to work with both Joomla! and Zen Cart™.
Cartage Component
- Install Cartage using the component installer.
- Select the Cartage Configuration option from the components menu.
- Put in the server path to the Zen Cart™ admin configure.php file. Without this, Cartage cannot run the Zen Cart™ files to integrate the two systems.
- Once the file is found, you can then select the next steps. Set the first 6 steps to on, and click the Save button.
- Optional: If you are going to need users to have a Joomla! account, as well as a Zen Cart™ account, install the Community Builder plugin. This is done through Community Builder, not through the Joomla! extensions installer.
Cartage Module
Install this as a standard extension. You will then have the option to create a new Cartage module from the Module Manager section of Joomla!.
You can add additional module types (if you are using non-standard Zen Cart™ modules) by modifying the mod_cartage.xml file, specifically the option list. The value for this option should be the filename of the sidebox, without the file extension.
At this point we should be ready to start testing to make sure the integration has worked.
Integration Testing
How to test that everything has worked correctly, and that you're ready for the site to go live.
Joomla!
SEF URLs
- Mouseover menu items. Do they have a SEF url (i.e. The menu item's alias and ending in .html)?
- Click a (non-Cartage) menu item. Do you end up on a page with no errors?
Domain name
- Assuming you've gone with a www. domain, if you go to the non www. domain, are you redirected?
- Assuming you've gone with a www. domain, if you go to the www. domain, are you shown the page correctly?
Zen Cart™
Assuming that the sub-directory that Zen Cart™ is installed in is called "shop"
- Have you manually updated the Javascript, that keeps Zen Cart™ inside an iFrame?
- Go to shop/index.php?main_page=index. You should go to a Zen Cart™ page, but then be automatically redirected to cartage.html with the Zen Cart™ store wrapped inside an iFrame.
- When wrapped in the iFrame, are all links showing as shop/cartage.php?
Cartage
Component
- Go to cartage.html on your site. Do you end up on the Zen Cart™ homepage?
- Go to index.php?option=com_cartage on your site. Is the result the same as above?
Module
Cartage Module is an optional install, that is not required for your store to work.
If you are using it, for testing purposes use either the "What's New" or "Categories" module.
- Mouse-over a link. It should start with cartage.html
- When you click the link, do you end up on the correct page, with Zen Cart™ inside the iFrame?
Cartage Menu Items
The Cartage component uses various methods to ensure that you end up on the correct page based on what you clicked on.
In version 2.0, we also introduced a new, enhanced menu item creation, to allow both SEF URLs and easier access to Zen Cart™ products/categories. It does this by re-writing the parameters given to it into a Zen Cart™ URL string.
There are 5 menu item types:
- Default
- Shopping Cart
- Account
- Login
- Logoff
All 5 use the same parameters, and I'll explain what each field is for, using real world examples. The parameters correspond to Zen Cart GET values, and they are:
- Main Page
- The main page value. Defaults to product_info
- cPath
- The category id. Defaults to null.
- Manufacturers ID
- The manufacturers id. Defaults to null.
- Product ID
- The ID of the product. Defaults to null.
- Product Refresh
- Should Joomla! refresh everytime the products ID is different in Zen Cart™? Defaults to no.
Show a Product
Assume that we've just created a new product (bluetooth headset, id of 14) in the category headsets (id of 3).
Now, we want to have a menu link to this item in our Headsets Joomla! menu, with the title 'Best for Gaming', with a URL of http://www.mystore.com/the-best-gaming-headset.html
- In our Headsets menu, create a new menu item (Menus --> Headsets --> New), and select the Cartage --> Default option.
- Set the title to 'Best for Gaming', and set the alias to 'the-best-gaming-headset' (Joomla! automatically adds the suffix of .html).
- In the Parameters - Basic, leave the Main Page value as 'product_info' and in the Product ID field put 14, the id for the headset.
- Optionally, you can also add in the Category ID into the cPath field. Set the value to be 3. This will affect the best-sellers sidebox, which is category sensitive. From a users point of view, it will make little difference as they will still see the product they clicked on, but cross-selling is important.
- Leave the other fields as their default.
This has now created a Joomla! menu item with the title "Best for Gaming", which when clicked will show go to the URL http://www.mystore.com/the-best-gaming-headset.html, and display the Zen Cart product bluetooth headset. If were to use Zen Cart™ without any SEF modules, this page would correspond to index.php?main_page=product_info&cPath=3&products_id=14.
Showing a Non-Standard Product
By this I mean one that uses a different template. Assuming that you're familiar with how to do this, we'll assume the above example uses a custom product called headset. This is displayed by using the main_page value of product_headset_info in your standard Zen Cart™ store.
Assuming that the above Product ID and Category ID are unchanged, then use the above list, changing product_info to be product_headset_info.
Show an entire category
Normally the Cartage Module can be used to show the Categories in your Zen Cart™ store. If you don't wish to purchase this modules (it has many other uses) or you wish to highlight a category in a menu item.
A standard Zen Cart™ URL is index.php?main_page=index&cPath=3 (continuing our headsets theme). To create this using a Cartage menu item, select Cartage --> Default and:
- Set the Main Page value to index (note: not the default product_info)
- Set the cPath value to 3
- Leave the rest as default.
And the job is done.
Show the customers account
This is useful, as with one link you can provide both Account Information and a Login menu item. The simplest way is to select the Cartage --> Account menu item. This is the same as using Cartage --> Default --> Main Page = account, or the Zen Cart™ URL index.php?main_page=account
|