Thelia is an open source tool for creating e-business websites and managing online content. Repo containing the new major version (v2)
roadster31 Merge pull request #2522 from InformatiqueProg/Admin-order-email
Add email with mailto directly on order
Latest commit 252dba0 Sep 24, 2018
Failed to load latest commit information.
cache add end line on text files Sep 17, 2014
core Added ordering by reference in PSE loop Sep 19, 2018
docker/php Remove unnecessary openssl extension install step Apr 19, 2018
local A "tinymce-editor-setup" event is sent when TinyMCE is ready Jul 5, 2018
log add end line on text files Sep 17, 2014
setup Missing ignored_module_hook table columns + typo Jan 29, 2018
templates Add email with mailto directly on order Sep 22, 2018
tests Disable casperjs test Mar 5, 2018
web Merge branch 'master' into mega_update Mar 3, 2018
.gitattributes Fix merge conflict for Jul 15, 2015
.gitignore Allow changing logo and banner in the email template Aug 25, 2017
.travis.yml Disable casperjs test Mar 5, 2018 Update changelog Mar 4, 2018 fix typo Aug 28, 2015
COPYRIGHT.txt Update COPYRIGHT Aug 3, 2015
LICENSE.txt change license file from GPL to LGPL Apr 18, 2014 Add compatibility on readme Mar 5, 2018
Thelia refactor autoload and add many composer.json Dec 24, 2014 Fixed typo Nov 14, 2014 Fix request stack Apr 7, 2016
composer.json Composer add symfony/var-dumper Mar 4, 2018
composer.lock Composer add symfony/var-dumper Mar 4, 2018
docker-compose.yml create a dedicated vhost Aug 17, 2015
index.html On thelia root, the user is redirected to /web Aug 6, 2014
php-cs fixed cs Nov 14, 2014
php-cs.bat Synced content with the unix one Nov 19, 2014
phpunit.xml Extract tests from the core and update symfony components Nov 5, 2014
reset_install.bat Fixed "thelia2" administrator email Feb 4, 2016 Fixed "thelia2" administrator email Feb 4, 2016 Disable casperjs test Mar 5, 2018
travis.php.ini fix segfault problem on travis Nov 14, 2014
unit-tests.bat Using Thelia phpunit instead of host one Jun 21, 2016 implement cart management without persistent cookie Jan 8, 2015



This is the development repository of Thelia. If you want to create a project, please take a look at thelia/thelia-project


Build Status License Scrutinizer Quality Score

Thelia is an open source tool for creating e-business websites and managing online content. This software is published under LGPL.

This is the new major version of Thelia.

A repository containing all thelia modules is available at this address :


Thelia 2.1 Thelia 2.2 Thelia 2.3 Thelia 2.4
PHP 5.4 5.5 5.6 5.4 5.5 5.6 5.5 5.6 7.0 7.1 5.6 7.0 7.1 7.2
MySQL 5.5 5.6 5.5 5.6 5.5 5.6 5.5 5.6 5.7
Symfony 2.3 2.3 2.8 2.8


  • PHP
    • Required extensions :
      • PDO_Mysql
      • openssl
      • intl
      • gd
      • curl
      • dom
    • safe_mode off
    • memory_limit at least 128M, preferably 256.
    • post_max_size 20M
    • upload_max_filesize 2M
    • date.timezone must be defined
  • Web Server Apache 2 or Nginx
  • MySQL 5

MySQL 5.6

As of MySQL 5.6, default configuration sets the sql_mode value to


This 'STRICT_TRANS_TABLES' configuration results in SQL errors when no default value is defined on NOT NULL columns and the value is empty or invalid.

You can edit this default config in /etc/my.cnf and change the sql_mode to remove the STRICT_TRANS_TABLES part


Assuming your sql_mode is the default one, you can change the value directly on the run by running the following SQL Command


For more information on sql_mode you can consult the MySQL doc

Archive builders

Thelia's archive builder's needs external libraries. For zip archives, you need PECL zip. See PHP Doc

For tar archives, you need PECL phar. Moreover, you need to deactivate php.ini option "phar.readonly":

phar.readonly = Off

For tar.bz2 archives, you need tar's dependencies and the extension "bzip2". See PHP Doc

For tar.gz archives, you need tar's dependencies and the extension "zlib". See PHP Doc

Download Thelia 2 and install its dependencies

You can get the sources from git and then let composer install dependencies, or use composer to install the whole thelia project into a specific directory

Using git for download and composer for dependencies

$ git clone --recursive path
$ cd path
$ git checkout 2.3.3 (2.2.6 or 2.1.11)
$ curl -sS | php
$ php composer.phar install

Using composer for both download and dependencies

$ curl -sS | php
$ php composer.phar create-project thelia/thelia path/ 2.3.3 (2.2.6 or 2.1.11)

If something goes wrong during the install process, you can restart Thelia install wizard with the following command : php composer.phar run-script post-create-project-cmd

Install it

You can install Thelia by two different way

Using install wizard

Installing thelia with the web install wizard allow to create an administrator, add some informations about your shop, etc

First of all, you have to configure a vhost as describe in configuration section.

The install wizard in accessible with your favorite browser :


For example, I have thelia downloaded at and my vhost is correctly configured, I have to reach this address :

Using cli tools

$ php Thelia thelia:install

or if you use a Thelia project :

$ php composer.phar run-script post-create-project-cmd

You just have to follow all instructions.

Docker and docker compose

This repo contains all the configuration needed to run Thelia with docker and docker-compose.

It requires obviously docker and docker-compose

To install Thelia within Docker, run :

docker-compose up -d
docker-compose exec web composer install
docker-compose exec web php Thelia thelia:install

This will prompt you for database information. Enter the following :

  • host : mariaDB
  • port : 3306 (default)
  • name : thelia
  • login : root
  • password : toor

tip : create an alias for docker-compose, it's boring to write it all the time

All the scripts can be launched through docker (or the corresponding docker-compose exec web ... command. For example :

docker exec -it thelia_web_1 composer install
docker exec -it thelia_web_1 php Thelia cache:clear
docker exec -it thelia_web_1 php setup/faker.php
docker exec -it thelia_web_1

Once started, you can open your local Thelia website at and your phpMyAdmin installation at

What is missing :

  • confguration for export compression (zip, gzip, etc)

Obviously you can modify all the configuration for your own case, for example the php version or add environment variable for the database configuration. Each time you modify the configuration, you have to rebuild it :

docker-compose build --no-cache


Thelia documentation is available at


The Roadmap is available at


see the documentation :

If you submit modifications that adds new data or change the structure of the database, take a look to


Consult the page : http://localhost/thelia/web/index_dev.php

You can create a virtual host and choose web folder for root directory.

To run tests (phpunit required) :

$ phpunit

We still have lot of work to achieve but enjoy this part.