Multi-Store Setup & Licensing
If you would like to use cf_ezcart as the basis for a Mall type setup, please read this section.
As of this writing, little "real-time" testing has been completed. In other words, this feature is
new, unadvertised, and not fully supported or warranted. But it is available and seems to work for the
few merchants choosing to use it.
The license for a multi-store is the same as our regular license with the following exceptions:
- If using cf_ezcart in multi-store mode, purchaser is free to make as many
copies of the ColdFusion template files as necessary. These files may run under
separate domain names, under sub-domains of a single domain, under a single
domain consisting of sub directories, or any other setup necessary to build your
"Mall", provided that all of the files are running on a single server or
"cluster" of servers.
- A separate license is required for each instance/copy of the database.
- A separate license is required for each server used (not including servers in a cluster).
Setup
- Open Application.cfm and under Global Settings, set attributes.multistore to "1".
- To add a store:
- Enter administration and click Edit Administrators in the black menu.
- Enter the store name or other identifier in the Name field.
- Enter the Login/Store ID as a whole number greater than 1.
- Add a password and e-mail address for the store owner. They will be notified
and prompted to log in change their hint and/or password. If it is more convenient,
you may change their password and hint immediately after entering the new Login/Store ID.
- Note that once a numeric Login/Store ID is created, it cannot be edited. The name, e-mail address,
wtc. may be edited, but not the number of the store. If you need to change it fo any reason, do it now.
- When you are sure the ID is acceptable, you may click the Create Setup For This Store ID button. You may do this now
or return later by choosing the store from the Edit Administrators menu.
- Upon clicking the Create Setup For This Store ID button, a new setup will be created with
default values. You may then click on the Store Setup button in the black menu and choose the new store from the
drop down menu. Make any changes necessary.
NOTE! The only section under Store Setup that
will not be available when editing each individual store is the Billing/Shipping
Countries. Any settings there, such as whether to show states, require a zip
code, disable shipping to a country, etc., will be global accross all stores.
There is one option in Application.cfm, disallowshipping = "", which may be set
to a comma delimited list of 2 letter country codes with which you will not
allow shipping. Use "00" to specify US APO/FPO and
do not enter any spaces in this list.
Special Variables
- variables.Setup_ID. This variable tells the cart which store setup to load and defaults to "1"
(the main store) if not specified. You may set this variable using <cfset variables.setup_id =
"xx"> anywhere that it will be read by the shopping cart pages, such as Application.cfm or in the
cartpage template.
- variables.Merchant_ID. This variable coincides with variables.Setup_ID and tells
the cart what products to load. Where this variable is set depends upon the setup scenario.
See Setup Scenarios below.
Setup Scenarios
- Allow all items to be sold under a single website (A Mall). All payments will go through the
"master" Setup. This could be used if you wish to run a Mall and allow individuals to sell their
items through a store in your Mall. You would take a commission off the sales, or sell advertising,
etc. You would use variables.Setup_ID = "1" under this scenario. When variables.Setup_ID = "1", you
may also use the variables.Merchant_ID variable. This may be set on individual pages if you wish,
such as pages with our navigation custom tags. Here are a couple examples:
- variables.Setup_ID = "1" and variables.Merchant_ID = "100": All items owned by Merchant 100
(which is also Administrator Login/Store ID 100) will be available on this page and in the
navigation menus. Under this scenario, a search will only return items owned by Merchant 100 (and
items available in all stores, such as Electronic Gift Certificates). You may set individual pages
(or items on a single page) to show Merchant logos, colors, etc. A neat thing to do when first specifying
a merchant is to set client.Merchant_ID, then look for the existence of Client.Merchant_ID and set
variables.Merchant_ID to that if it is defined. This could keep the mall set to the specified merchant
until a different merchant is chosen.
- variables.Setup_ID = "1" and variables.Merchant_ID not defined or "0": All items owned by all merchants
will be available on these pages. If you wish for a customer to be able to search all stores in the
mall, this is the scenario to use on the search results page.
- Allow individuals to run their own store, independent of the "Mall". Payments would go through
that merchant's setup. All shipping costs, etc., would be based on that merchant's setup. Here you
would just set variables.Setup_ID to the Merchant ID nand set it where it will be available through
the entire checkout process. You will also need to set the Merchant_ID in the custom tags.
Administration
There are 2 ways to log in as a store owner (with a numeric login). With either login, the
store owner is limited to editing their own login information, and editing their own products.
There are 2 scenarios for logging in. See each scenarion for how the merchant may access their orders.
- Log in at the mall with a variables.Setup_ID of "1". Here the merchant may click on Get Orders, at
which point they will be taken directly to the Reports section of the orders. Here the merchant may run
reports and view order information. The merchant may not delete or edit any orders as presumably, the
Mall owner will be receiveing these payments.
- Log in at the merchant's website where the variables.Setup_ID is the merchant's ID. Here the merchant
has full control over their orders.
At this point, we have not had the time or the need to build an elaborate reporting scheme, or a way to calculate
commissions. This may come at some point in the future if it appears the multi-store setup is used more
than occasionally.