You can buy SPA-Cart licence here:

Free SPA-Cart download for education purposes:

Once you use SPA-Cart please buy license and submit your site URL here - so we grow and create more features for SPA-Cart.

Best sites will be listed on our site - free backlink for your SEO

This page visited 5826 times.

To install follow "READ ME.txt" text file instructions:
1. Installation

a. Create MySQL table and insert dump.sql into it. Don't forget to remove this file.

b. Edit includes/settings.php per your MySQL access and company settings.

For MySQLi support. Simply set "true" or "false"

# Use MySQLi

$is_mysqli = true;

For warehouses support set "true"
# Use warehouse false or true
$warehouse_enabled = false;

c. ImageMagick must be installed and "convert" tool must be executable from any place. You can get ImageMagick for free from here

It resizes images to needed dimension with Photoshop quality and keep same size as if it was with PHP GD.

PHP GD also supported - open includes/settings.php and set "false" from "true"

$is_image_magick = false;

d. For easier development Local IP is to include local Web Server settings

DEVELOPMENT TRUE mean templates are always regenerated.

DEMO TRUE mean some params are not editable.

e. System does not support to be located under folder. It should be another domain or subdomain.

f. Admin area - / 01230

g. Run

it will generate images cache.

h. Use API in beta testing mode now

i. Add Cron job for every 30 minutes to run the Abandoned cart reminder and check currency rates

j. Support Desk

To receive replies from emails - add this script to cron for every 10-15 minutes:[PASSWORD]

Password you can define here

On same page configure POP3 settings.

Edit this file to set up correct server port and SSL setting

SSL port is 995. Not SSL port is 110.

k. To disable Design theme color mode edit settings.php
# Design theme color editor
# 1 - on
# 0 - off
$design_mode = 1;

2. After testing remove all the data and insert yours. You can use Import/Export to insert new values. Only new categories are not imported.

3. To use HTTPS(SSL) always - open index.php and uncomment
if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off") {
$redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $redirect);

4. Helpful scripts


It rebuilds templates cache.


It rebuild photos cache. Some hosting accounts will process images generation slow so better to do it yourself after you complete uploading images. Because otherwise if not you - your customer will wait it. But you can process all at once.

Once your developer create custom images sizes, this script should be customized for them.

5. Templates engine

Supported tags are

a. Any template variable can be {$var} - it's <?php echo $var; ?>. If it's array or object - use same way as PHP, for example {$var['var']}

{foreach $array as $k=>$v}


will be

foreach ($array as $k=>$v) {

You still can insert {$v} tag

c. {if $tmp == '1' or $var == '2'} {/if}

will be

if ($tmp == '1' or $var == '2') {

Same is

{elseif [CODE]}



{php $var = 1+2;}

It's just to wrap <?php ?> to the inside content.

e. {price $var}

It will ouput currency symbol and price with .00 at the end.

f. {weight $var}

It will ouput weight symbol and weight with .00 at the end.

g. {include="TEMPALTE PATH"} - for example {include="common/products.php"}

h. {lng[Hello world]} - language variable. Useful if you translate or use multi-lingual site.

All tags and {lng..} stored in cache and not processed on every page load.

{lng[Hello|lower]} - lowcase.
{lng[Hello|js]} - replace line breaks and " character with \".
{lng[Hello|escape]} - replace " character with \".

You can also use {lng} in JavaScript - they are processed as well. JavaScrpt already do all the work so it does not support additonal modifiers like "lower".

i. Easier than {php } for assignments
{assign $var=1+2}

$var = 1+2;