Thelia is an open source tool for creating e-business websites and managing online content.

Overview

Readme

Warning

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

If you want to download a packaged, ready-to-use distribution of the most recent version of Thelia please download thelia.zip

Thelia

Actions Status: test Scrutinizer Quality Score License

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

A repository containing all thelia modules is available at this address : https://github.com/thelia-modules

Compatibility

Thelia 2.3 Thelia 2.4 Thelia 2.5
PHP 5.5 5.6 7.0 7.1 7.0 7.1 7.2 7.3 7.2 7.3 7.4 8.0
MySQL 5.5 5.6 5.5 5.6 5.7 5.5 5.6 5.7 8.0
Symfony 2.8 2.8 5.3

Requirements

  • 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.6

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

STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

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

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION

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

SET @@GLOBAL.sql_mode='NO_ENGINE_SUBSTITUTION', @@SESSION.sql_mode='NO_ENGINE_SUBSTITUTION'

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 https://github.com/thelia/thelia path
$ cd path
$ git checkout 2.4.4 (2.3.5 or 2.2.6)
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install

Using composer for both download and dependencies

$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar create-project thelia/thelia path/ 2.4.4 (2.3.5 or 2.2.6)

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 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 :

https://yourdomain.tld/[/subdomain_if_needed]/install

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

https://thelia.net/install

Using cli tools

$ php Thelia thelia:install

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. Warning, this docker configuration is not ready for production.

It requires obviously docker and docker-compose

To install Thelia within Docker, run :

./start-docker.sh

It will ask you for a template name (usually your project name) if you don't have a .env file but you can create the .env by yourself, take a look at .env.docker to make your own.

If your folder template does not exist it will copy the "modern" template.

Next just go to http://localhost:8080 and you should see your Thelia installed !

And run the same command everytime you want launch your Thelia.

If you want add some sample data just add the option -demo

./start-docker.sh -demo

If you want to access your database from your computer (with DBeaver, Sequel Pro or anything else) by default the host is localhost and the port is 8086

Documentation

Thelia documentation is available at https://doc.thelia.net

Contribute

See the documentation : http://doc.thelia.net/en/documentation/contribute.html

If you submit modifications that adds new data or change the structure of the database, take a look to https://doc.thelia.net/en/documentation/contribute.html#sql-scripts-modification

Comments
  • MultiDomain same server same Thelia

    MultiDomain same server same Thelia

    If you configure Thelia in multi-language multi-domain but its domains are on the same server, same resource Thelia, the translation of the url is not done. This PR allows to select the domains that are on the same server as the default language to perform the translation 2017-04-29_11-42-56

    I add 'same_server' column in url table en espérant ne pas avoir oublié de fichier :)

    opened by zzuutt 26
  • Feature free text value refactoring

    Feature free text value refactoring

    That field (free_text_value) makes frustrating some people (like me) just by its name and type. But later you think about i18 etc. Any "feature" must be consistently with other system parts I think. Goal of thist PR is remove that damn field and replace it with is_free_text. Anyway it'll be just deprecated, until 2.5.0 i think...

    enhancement Version 2.4.0 
    opened by zorn-v 20
  • Updating I18N datas

    Updating I18N datas

    Hi guys, I'm totally new to Thelia, and found many typos in the different texts.

    Where do I have to update this all to make a PR? Because I saw that many texts are present in both the setup/insert.sql file and in the setup/I18n/*.php files. Do I have to update both?

    bug 
    opened by Pierstoval 20
  • Changing the name of VirtualProductControl breaks the back-office.

    Changing the name of VirtualProductControl breaks the back-office.

    Steps to reproduce :

    1. Rename VirtualProductControl as VirtualProductControl.BAK
    2. Load the back-office -> ServiceNotFoundException: You have requested a non-existent service "virtualproductcontrol.hook".
    3. Rename VirtualProductControl.BAK as VirtualProductControl.
    4. Load the back-office again -> ServiceNotFoundException: You have requested a non-existent service "virtualproductcontrol.hook".. Augh !

    The only way to restore a normal situation is to delete manually the cache directories.

    not a bug 
    opened by roadster31 17
  • New Install

    New Install

    I clicked into the Store Configuration to edit Store COnfiguration, and received this error: Oops! An Error Occurred An unexpected error occurred The page you've requested has a problem. Please contact the module developer if you were using one, or feel free to give the Thelia team a feedback on github: here.

    The following error message has been found: Failed to create symbolic link for favicon.png in store image cache directory

    opened by xgeekgirlx 15
  • Improve product image management

    Improve product image management

    • Add 'Title' field in 'Edit product' > 'Images' tab
    • Add PREVIOUS and NEXT buttons when editing a product image
    • Allow to select and delete multiple images in 'Product editing' screenshot_image_management
    enhancement Version 2.4.0 
    opened by Paphos 14
  • New module configuration facility, and some improvements.

    New module configuration facility, and some improvements.

    • Added the ModuleConfig table, to provide modules an easy way to store their configuration parameters, with I18n if required.
    • Added the module-config loop
    • Added getConfigValue() and setConfigValue() static helper methods to BaseModule to offer an easy way to get/set a module parameters
    • Refactored the Cheque module, to use the new ModuleConfig, and send an email to the customer when its payment is received.
    • Added the wysywig.js hook to official hooks, so that any page which needs a WYSYWIG editor will only have to put this hook in the JS section to get one.
    • Refactored Tynimce module according to wysywig.js hook
    • Moved cart and order flush in the Order action, triggered by the ORDER_CLEAR_CART.event
    • A few minor improvements
    opened by roadster31 13
  • search page default template

    search page default template

    Hi

    Bug in Search page default template : return this error : PropelException: Unable to execute COUNT statement [SELECT COUNT(*) FROM (SELECT product.ID, product.TAX_RULE_ID, product.REF, product.VISIBLE, product.POSITION, product.TEMPLATE_ID, product.CREATED_AT, product.UPDATED_AT, product.VERSION, product.VERSION_CREATED_AT, product.VERSION_CREATED_BY, ROUND(CASE WHEN pse.PROMO=1 THEN price.PROMO_PRICE ELSE price.PRICE END, 2) AS real_price, price.PRICE AS price, price.PROMO_PRICE AS promo_price, NOT ISNULL(requested_locale_i18n.ID) AS IS_TRANSLATED, requested_locale_i18n.TITLE AS i18n_TITLE, requested_locale_i18n.CHAPO AS i18n_CHAPO, requested_locale_i18n.DESCRIPTION AS i18n_DESCRIPTION, requested_locale_i18n.POSTSCRIPTUM AS i18n_POSTSCRIPTUM, requested_locale_i18n.META_TITLE AS i18n_META_TITLE, requested_locale_i18n.META_DESCRIPTION AS i18n_META_DESCRIPTION, requested_locale_i18n.META_KEYWORDS AS i18n_META_KEYWORDS, pse.ID AS pse_id, pse.NEWNESS AS is_new, pse.PROMO AS is_promo, pse.QUANTITY AS quantity, pse.WEIGHT AS weight, pse.EAN_CODE AS ean_code FROM product INNER JOIN product_sale_elements pse ON (product.ID=pse.PRODUCT_ID AND pse.IS_DEFAULT=1) LEFT JOIN product_price price ON (pse.ID=price.PRODUCT_SALE_ELEMENTS_ID AND price.currency_id = :p1) INNER JOIN product_i18n requested_locale_i18n ON (product.ID=requested_locale_i18n.ID AND requested_locale_i18n.LOCALE = :p2) WHERE CASE WHEN NOT ISNULL(requested_locale_i18n.ID) THEN requested_locale_i18n.TITLE ELSE default_locale_i18n.TITLE END LIKE :p3 AND product.VISIBLE=:p4 GROUP BY product.ID) propelmatch4cnt]

    opened by knjeurope 13
  • Incorrect cart item count

    Incorrect cart item count

    When a product is added several times to the cart without leaving or reloading the product page, the cart item count displayed in the cart badge is not incremented.

    image 260

    opened by roadster31 11
  • [WIP] Api

    [WIP] Api

    This is the implementation for the Rest API of Thelia.

    Authentication

    The authentication is done using a token. This token is generated when the API access is created in the admin. The token must be set in the authorization http header like this :

    Authorization: Token MYSUPERTOKEN
    

    Example using the symfony Request object :

    $request = new Request();
    $request->headers->set('Authorization', 'Token MYSUPERTOKEN');
    

    Apache authorization header is only used by basic or digest methods. So you must have to force the HTTP_AUTHORIZATION header in your .htaccess file :

     RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization},last]
    

    The .htaccess file include in Thelia had been already modified.

    Request signature

    All request content (even if the content is empty) must be signed using a secure key generated when an API access is created in the admin.

    Signature process :

    • create the binary string of the secure key
    • create the hash of the request content using sha1 algo and the binary key

    example :

    $content = "my content";
    $key = pack("H*", "my_secret_key");
    $sign = hash_hmac('sha1', $content, $key);
    

    the signature must be set in the sign parameter send in the request query string. example : http://your_thelia.tld/api/customers?sign=request_content_signature

    We use a signature for preventing Man in the middle attack. BTW, use HTTPS connection; it's the most safe way to use your API.

    Controller

    All API's controllers must extends Thelia\Controller\Api\BaseApiController.

    ACL

    The already existing profile process is used, nothing change here.

    In your controller you must use the checkAuth with the value you want to use. This method return nothing and thrown an AccessDeniedHttpException if an error occur.

    Example :

    $this->checkAuth(AdminResources::CUSTOMER, [], AccessManager::VIEW);
    

    Test

    The only way to really test the API is to simulated a request and check the response status, header and content if needed.

    The HttpKernel Client class is used for doing that, allowing to create functional test in Thelia.

    Each API method must be test extending the Thelia\Test\ApiTestCase class. This class contain some helpers :

    getServerParameters() : force CONTENT_TYPE and HTTP_AUTHORIZATION server parameters getSignParameter($content) : create the signature for the given content.

    Here an example for testing the customer list method :

        /**
         * @covers \Thelia\Controller\Api\CustomerController::listAction
         */
        public function testListActionWithDefaultParameters()
        {
            $client = static::createClient();
    
            $client->request(
                'GET',
                '/api/customers?sign='.$this->getSignParameter(""),[],[],
                $this->getServerParameters()
            );
    
            $this->assertEquals(200, $client->getResponse()->getStatusCode(), 'Http status code must be 200');
            $content = json_decode($client->getResponse()->getContent(), true);
            $this->assertCount(10, $content);
        }
    

    PROGRESS

    List : get method returning a collection

    | Action | List | Get | Post | Put | Delete | | --: | --- | --- | --- | --- | --- | | Product | ok | ok | ok | ok | ok | | Product price | ok | ok | ok | ok | ok | | Product image | ok | ok | ok | ok | ok | | Category | ok | ok | ok | ok | ok | | Customer | ok | ok | ok | ok | ok | | Customer title | ok | ok | ok | ok | ok | | Tax rules | ok | ok | ok | ok | ok | | Attribute | ok | ok | | | | | Countries | ok | ok | | | | | Taxes | ok | ok | | | |

    Notes

    • The PUT method only update an item
    opened by lunika 11
  • Function isPaid

    Function isPaid

    Je pense que la fonction isPaid doit renvoyer true seulement si on est sur le status Payee. Sinon cela engendre des erreurs au niveau des envoies de confirmation Si on laisse

        public function isPaid($exact = false)
        {
            return $this->hasStatusHelper(
                $exact ?
                OrderStatus::CODE_PAID :
                [ OrderStatus::CODE_PAID, OrderStatus::CODE_PROCESSING, OrderStatus::CODE_SENT ]
            );
        }
    

    l'email de confirmation de paiement est envoye pour les status PAID, PROCESSING, SENT

    il faut considerer que si le status est passe sur PROCESSING ou SENT, c'est que la commande a ete au depart sur PAID

    opened by zzuutt 10
  • Use the PDO connection instead of the wrapped connection

    Use the PDO connection instead of the wrapped connection

    rowCount() PDOStatement method is used in update.php, and is not available in the PDODataFetcher object returned by ConnectionWrapper::query().

    Solution copied from \Thelia\Install\Database

    opened by roadster31 0
  • Hook prioritize

    Hook prioritize

    Description

    We have issue with hooks.

    When you have a module hook that depends on another hook of another module, the position influences the insertion of the latter. And so when you do a php Thelia hook:clean it breaks the order of the insertion because it will take the order of the modules to recreate the hooks.

    Would it be possible to add a priority on the hooks as for the events ?

    Solution talk with @lopes-vincent

    Example

    • Don't work ( depends on same hook thelia.blocks.plugins )

      • ProjectModule
      • TheliaLibrary
    • Work ( depends on same hook thelia.blocks.plugins )

      • TheliaLibrary
      • ProjectModule
    opened by mabruchet 0
  • Incohérence wording - tableau de configuration de variable

    Incohérence wording - tableau de configuration de variable

    Thelia version(s) affected

    2.5

    Description

    Remplacer l'entête de colonne Objet par titre dans les variables de configuration, cela porte confusion dans l'édition d'une variable

    How to reproduce

    créer une variable

    Possible Solution

    Renommer Objet par Titre

    Additional Context

    No response

    opened by csibaud 1
  • SSRF Issue

    SSRF Issue

    There is a user input which was used directly inside the file_get_contents which can leads to SSRF issue.

    File: /thelia/local/modules/Tinymce/Resources/js/tinymce/filemanager/upload.php Line No - 82 (fwrite($handle, file_get_contents($_POST['url']));)

    Thanks

    opened by agrawalsmart7 0
  • How to properly import a database into thelia

    How to properly import a database into thelia

    Hi !

    I'm working on migrating a oscommerce based website into a Thelia based one, and I hit a snag. I tried different methods to import data into the website, but none were fully satisfactory, and I ended up messing with the database manually to bruteforce import stuff into it. But as you might imagine, while it works on the short term, it is also littered with inconsistencies, and it prevents me from upgrading to a more recent version of Thelia.

    What is the safest/preferred way to import large amounts of data into a Thelia system ?

    opened by Tatoufff 1
Releases(2.5.2)
  • 2.5.2(Dec 22, 2022)

    • #3072 Allow to hide smarty "undefined" errors
    • #3071 Better module configuration route check
    • #3068 Update Symfony dependencies to 6.2
    • #3064 Fix wrong mail content type
    • #3063 Fix csv serializer
    Source code(tar.gz)
    Source code(zip)
  • 2.5.1(Oct 18, 2022)

    • #3057 Fix current view
    • #3056 Feat/new frontoffice template
    • #3055 Add smarty plugin to prefetch js assets
    • #3054 Add isInFolder and isInCategory
    • #3053 Fix doc links
    • #3052 Apply resize to all layers and prevent flatten to keep animation
    • #3051 Add pre order pay total calculation
    • #3049 Change smtp password field type + add warning message
    • #3048 Licences
    • #3047 Fix smtp with special chars
    • #3046 Reset html2pdf to spipu vendor and fix his version
    • #3045 Add mailhog to docker
    • #3044 Fix tax engine getter when session is null
    • #3043 Fix versions in composer.json
    • #3042 Move the product visibility switch to inner toolbar
    • #3041 Disable always debug for update script
    • #3040 Remove default debug log on propel init
    • #3039 Template configuration consistency
    • #3037 Fix remote smtp is disabled and no dsn in env
    • #3036 Fix module config button for route in routing.xml
    • #3035 Update FrontUtils
    • #3034 ApiUtils accessible globaly on window object
    • #3032 Added missing hooks in modern layout.tpl
    Source code(tar.gz)
    Source code(zip)
  • 2.5.0(Aug 30, 2022)

    • #3020 Item image edition hook
    • #2979 Upgrade pdf invoice template
    • #2974 Feature symfony encore
    • #2968 Autowire Hooks
    • #2964 Add image size to the loop
    • #2962 Fix svg render function when using absolute url
    • #2960 Carousel: add format argument
    • #2957 Allow to override config in .env
    • #2951 Add a function to erase a customer password
    • #2949 Add a smarty block to display a component
    • #2948 Better phone and cellphone input validation
    • #2944 Add WebP compatibility
    • #2932 Improve Thelia version list in back office
    • #2918 Change session path to be more symfony compliant
    • #2909 Handle exif rotation meta-data
    • #2908 Add weight in smarty plugin pse
    • #2906 Fix filterByIsEnabled in Coupon
    • #2902 Change module skeleton to add update function and external-schema
    • #2891 Move propel cache to specific env cache directory
    • #2888 Add database configuration to .env
    • #2879 Add pagination for order product list on order edit page
    • #2874 Add infinite Scroll if complex_pagination is set in BO
    • #2872 Add untaxed promo price in smarty plugin
    • (Multiple PR) Update Symfony, Propel and Smarty to their latest release
    Source code(tar.gz)
    Source code(zip)
  • 2.4.5(Aug 25, 2022)

    • #2834 Add svg support
    • #3015 RestoreCurrentCart also restore currency
    • #3014 Fix docker for 2.4
    • #2909 Protecting content from preg_replace errors
    • #2858 Adding IDs in product SEO export
    • #2846 Change link tag and append javascript init on order payment gateway
    • #2841 Fix Spelling Mistakes
    • #2832 Fix export with no date
    • #2831 Fix case where lang is null
    • #2830 Fix language when multi domain is enabled
    • #2828 Fix wrong id in ProductSaleElementsDocument Loop
    Source code(tar.gz)
    Source code(zip)
  • 2.5.0-alpha2(May 24, 2022)

    Thelia 2.5 is still a work in progress. This version will be the last to support Php7 because the next version and the stable version of 2.5 will be based on Symfony 6 and the minimum version of Php will be 8.0

    Source code(tar.gz)
    Source code(zip)
  • 2.5.0-alpha1(Jul 20, 2021)

    New major Thelia version incoming ! Upgrading Symfony components from 2.8 to 5.3. Which mean Thelia is now more secure and more up to date. And we can now use autoconfigure and autowiring to Thelia ! And many others new Symfony features, like the Symfony debug bars, some Bundles compatibility, better integration for the .env files, ... Php requirement is now 7.2 to 8.0.

    Source code(tar.gz)
    Source code(zip)
  • 2.4.4(Mar 15, 2021)

    2.4.4

    • #2821 Fix can set not active lang in front office
    • #2820 Add translations page for customer titles
    • #2819 Add a more modern template for Thelia front office
    • #2818 Update Smarty and Markdown
    • #2817 Update email-layout.tpl
    • #2815 Fix license to be detectable by github
    • #2814 Fix export end date calculation
    • #2813 Fix csv export for multiline
    • #2812 Export locale
    • #2810 Removed wrong parameter in findOne()
    • #2808 Add localPickup as delivery mode allowed list
    • #2807 Add i18n for HookAnalytics configurations
    • #2801 Add a command to switch the front template from CLI
    • #2800 Fix missing state in CartPostage getDeliveryInformation
    • #2799 Deep cloning of template definition
    • #2797 Added template type to template paths cache cache key
    • #2796 Fix delivery when state is null
    • #2795 Fix new delivery with state interface
    • #2794 Fix filter by product_image_id loop parameter
    Source code(tar.gz)
    Source code(zip)
  • 2.4.3(Nov 2, 2020)

    2.4.3

    • #2792 Add GithubActions
    • #2791 Fix compatibility to composer 2
    • #2790 Fix state not checked in deliveries modules
    • #2788 Fix issue #2787 TinyMce add link to img doesn't work
    • #2785 Add config value to disallow module install by ZIP
    • #2784 Fix TinyMce - display preview thumbs in a subfolder
    • #2783 Fix state tax in product loop
    • #2782 Fix typo in base tax rule names
    • #2781 Improved the readme file
    • #2780 Fix a bug where the path isn't correct if the template is in a directory
    • #2779 Force return to page 1 after changing the limit of displayed products…
    • #2777 The checkbox not appear on the product page - Tab Image
    • #2776 Fix issue #2516 loop search_in param doesn't work
    • #2775 Added tweeter feed to admin home
    Source code(tar.gz)
    Source code(zip)
  • 2.4.2(Aug 26, 2020)

    2.4.2

    • #2773 Add description to module composer skeleton
    • #2772 Update default config values
    • #2771 Better default tax rules names
    • #2770 Add shared option for services (from SF 2.8)
    Source code(tar.gz)
    Source code(zip)
  • 2.4.1(Jul 31, 2020)

    • #2765 Tax and Taxed price variables are now rounded in OrderProduct loop
    • #2764 Fix MoneyFormat when have space in number
    • #2763 Improvement on delivery events
    • #2762 Fix total prices and taxes in order edit page
    • #2761 Improve DeliveryPostage event to get more data
    • #2760 Improve Pickup locations
    • #2758 add a new event MODULE_DELIVERY_GET_PICKUP_LOCATION
    • #2757 Fix model generation at module activation
    • #2756 Fix Url are not rewritten if no locale in url
    • #2754 Fix remove zero decimal on number > 1000
    • #2752 Order by alpha_reverse returns an error in feature-availability loops
    • #2748 Upgrade docker compose to a more mordern stack
    Source code(tar.gz)
    Source code(zip)
  • 2.4.0(Apr 8, 2020)

    2.4.0

    • #2740 Fix defaultErrorFallback templateDfinition replacement
    • #2739 Fix ignored_module_hook table update
    • #2738 removed versionnable from schema example
    • #2737 Add php < 7.4 requirements
    • #2736 Optimized exports with JSON cache file and SQL request
    • #2735 Tax calculation fixes, revamped
    • #2734 Use select instead of input fields to choose template in B.O configuration parameter
    • #2733 Carousel module improvements
    • #2732 Sales are now considered done a invoice date
    • #2731 Fix #2693 contents url on search page
    • #2730 Fix issue #2698 bug on sales management
    • #2729 Discount field is no longer require in CustomUpdateForm
    • #2728 Fixed casperjs path
    • #2724 Better discount calculation for untaxed prices
    • #2721 Fix template delete issue
    • #2718 Bump symfony/security from 2.8.47 to 2.8.50
    • #2717 Fix coupon condition matching
    • #2716 New reference related parameters to order loop
    • #2715 Fix bad success url for image form
    • #2713 Bump symfony/http-foundation from 2.8.47 to 2.8.52
    • #2712 Bump symfony/cache from 3.4.18 to 3.4.35
    • #2710 Bump symfony/dependency-injection from 2.8.47 to 2.8.50
    • #2707 Improve product edit
    • #2706 Fix mailing export col names
    • #2705 Move date filtering to query initialization
    • #2704 Fix double "[]" on choice render multiple
    • #2697 Fix missing event in isStockManagedOnOrderCreation
    • #2696 Add ID and ORDER_PRODUCT_ID to order_product_attribute_combination loop
    • #2695 An empty cart is not a virtual cart
    • #2691 Modules documentation display improvements
    • #2687 Added a findAllChildId() method
    • #2685 Added arrow navigation to documents and images management
    • #2683 Fix tax rule collection query build when a state ID is passed to getTaxCalculatorCollection()
    • #2681 Fix I18n when strictly mode is enable and only one I18n is present
    • #2676 Fix Tlog on reponse when ConfigQuery is not generated on cache
    • #2677 Profile management improvement
    • #2673 Added quantity parameter to "Added to cart" popup url
    • #2672 Improved import/export loops
    • #2671 A 'change.pse' event is triggered on PSE value change
    • #2670 Add company on BO customer address information
    • #2665 Fix bad translation key
    • #2664 Add BO brand search
    • #2663 Improve SHOW_HOOK
    • #2661 Fix issue #2660
    • #2659 Improved ajax management in CartController
    • #2658 Customer email language fix when sent from the BO
    • #2657 Add option to show/Hide stats bloc
    • #2655 Update var name error MailerFactory.php
    • #2651 Allow to load tax rule without country
    • #2650 Fix attribute-edit.html smarty error
    • #2649 Docker & Docker compose update
    • #2648 Fix #2647 Wrong edition URL in message template
    • #2646 Fix #2592 Add Delivery address in order loop search in
    • #2645 Add new event on contact submit
    • #2644 Change two redirection from 302 to 301
    • #2642 Fix missing parent preSave and postSave in Models
    • #2640 Update address-update.html
    • #2638 Remove Tlog in Propel init
    • #2637 New "visible" parameter to pse loop
    • #2634 Add phone on create customer modal
    • #2633 Update propel dependency
    • #2630 Change travis configuration, composer propel repo, root-namespace special compiled PHP functions
    • #2629 Improve invoice and delivery interface
    • #2628 Fix bo search order status color
    • #2626 Front template improvements
    • #2625 Disabled output compression when generating site map
    • #2624 Exclude base_url from URL parameters
    • #2623 Fix Tax calculator on country with state
    • #2622 Propel schema generation is now protected from concurrency
    • #2621 Add sort options to PSE loop, and allow to return all PSE
    • #2618 Fix smarty cache default value, add country and customer_discount
    • #2617 Added missing argument 'code' to the Coupon loop
    • #2616 Allow use of CDN (e.g. alternate URL) on assets and documents
    • #2615 feature_values filter is now working in Product loop
    • #2614 Shipping zone configuration improvement
    • #2613 Pagination fix
    • #2611 Fixed loop arguments cache initialisation
    • #2610 MailerFactory::send() is now wrapped in an exception handler
    • #2609 Order details improvements
    • #2608 Fix required fields for form smtp configuration
    • #2607 Fix postage update when cart or coupon changes
    • #2606 Added 3 new outputs to order loop
    • #2605 Fix wrong order total (issue #2604)
    • #2603 Added tax rule ID parameters to product loop
    • #2602 Shipping zones button is no longer extra small in module list
    • #2600 Check if symlink() is working when installing Thelia
    • #2595 Fix Issue #2504
    • #2593 Add css class "pse_id_field"
    • #2590 Fix non-numeric values in PDF templates
    • #2589 Added invoice-date order criteria
    • #2587 Add cache for loop ArgDefinitions
    • #2586 Fix for #2505 BackOffice dashboard refresh button
    • #2585 Improve propel cache
    • #2584 Fix for getting choices options in forms
    • #2582 Fix loop feature, filter template
    • #2581 Composer remove useless dependency ramsey/array_column
    • #2580 Fix module postActivation with new propel integration
    • #2579 Composer remove symfony/icu on thelia core
    • #2577 Set the error URL of the payment form
    • #2576 Add deprecated model event
    • #2575 Remove symfony/icu
    • #2574 A missing hook will throw an error in dev mode only
    • #2573 BO UI Fix btn edit content
    • #2571 Fix thelia migration 2.3.4 -> 2.4.0-alpha2
    • #2570 Fix count null value php7.2
    • #2569 Prepare version 2.4.0-alpha2
    • #2568 Implementation symfony dotenv
    • #2567 fix invalid exception
    • #2566 Update composer file core
    • #2565 Change Thelia dev ip protection
    • #2564 Added call to parent method in model's event dispatching methods
    • #2563 Removed all round() from the code
    • #2561 Order status management improvement
    • #2560 Lang should be active and currency visible to be used in front office
    • #2558 BO UI renderer btn create
    • #2557 BO UI Add possibility to remove btn text
    • #2556 Update propel with event dispatcher
    • #2555 The 'zip' extension is required to install modules
    • #2553 PHP 7.2 forms buildForm() signature fix
    • #2552 Minor back-office UI improvements
    • #2551 Fix #2525 microdata
    • #2547 BO new buttons integration
    • #2546 Undefined loop should be in the loop stack
    • #2545 Customer preferred language selection
    • #2544 Fix constants propel deprecated
    • #2543 Changed Travis CI config to use trusty distribution
    • #2542 Smarty upgrade to version 3.1.33
    • #2541 add remove_zero_decimal parameter
    • #2540 Add gitignore .DS_Store
    • #2538 Minor code style fixes
    • #2537 test if the module exists on the file system before generation cache
    • #2536 Propel generation path fix
    • #2535 Fix not countable args
    • #2534 Composer update dependencies, fix symfony/var-sumper required version and add polyfill php7.3
    • #2533 Fix an infinite loop when the cache is cleared
    • #2532 Add url sitemap.xml
    • #2528 Patch for PRODUCT page
    • #2524 wrong class name on Contact subject field
    • #2522 Add email with mailto directly on order
    • #2521 Add a new export "product I18n"
    • #2519 Added ordering by PSE reference in PSE loop
    • #2518 Fixed multiple times the same line in results
    • #2517 fix/choice-render-multiple
    • #2512 add missing formError use on 2.3 branch
    • #2509 A "tinymce-editor-setup" event is sent when TinyMCE is ready
    • #2507 Fix sale activation after sale update
    • #2503 Added an explanatory message to disconnected exception
    • #2502 Added category and brand ID in sidebar hooks
    • #2501 PHP 7.1 compatibility fix in ExportHandler
    • #2500 Fix newsletter unsubscribe/subscribe
    • #2499 Using better headers to generate PDF response
    • #2498 Fix for PHP 7.1 warning A non-numeric value encountered
    • #2497 Remove unnecessary openssl extension install step
    • #2495 Prevent setting the only default PSE to non-default
    • #2494 Fixed Carousel module translations
    • #2493 Keep product price & information when deleting the last PSE of a product
    • #2492 Removed useless notice log
    • #2489 fix order color issue in customer edit form
    • #2487 Update composer.json of Thelia core
    Source code(tar.gz)
    Source code(zip)
  • 2.3.5(Apr 30, 2019)

    • (ISSUE #2472) add missing formError use on 2.3 branch
    • (PR #2479) disallow cart path but not words starting with cart
    • (ISSUE #2463) Fix bug code promo
    • (PR #2482) FreeOrder: round total amount to avoid problems with floats
    • (PR #2483) Fix color status in search order
    • (PR #2517) fix/choice-render-multiple
    • Fix STRICT_TRANS_TABLES for mariadb > 10.2.4
      ____                ____                        _  _  _             _                                             _   
     |  _ \              |  _ \                      (_)| || |           | |                                           | |  
     | |_) | _   _   ___ | |_) | _   _   ___    __ _  _ | || |  ___  ___ | |__    ___   _   _  _ __  __ _   ___   __ _ | |_ 
     |  _ < | | | | / _ \|  _ < | | | | / _ \  / _` || || || | / _ \/ __|| '_ \  / _ \ | | | || '__|/ _` | / _ \ / _` || __|
     | |_) || |_| ||  __/| |_) || |_| ||  __/ | (_| || || || ||  __/\__ \| |_) || (_) || |_| || |  | (_| ||  __/| (_| || |_ 
     |____/  \__, | \___||____/  \__, | \___|  \__, ||_||_||_| \___||___/|_.__/  \___/  \__,_||_|   \__, | \___| \__,_| \__|
              __/ |               __/ |         __/ |                                                __/ |                  
             |___/               |___/         |___/                                                |___/
    
    Source code(tar.gz)
    Source code(zip)
  • 2.3.4(Sep 3, 2017)

    WARNING : Minimum PHP version for Thelia 2.3.4 is now PHP 5.5. Do not upgrade if you're server is currently using a lower PHP version

    • (related to #2422) Installation with PHP 7.1 is now working properly. The mcrypt dependency is now replaced by openssl
    • (related to #2413) Requesting the view of a not visible product, category, contents, folder or brand now causes an HTTP 404 error instead of displaying the view
    • (related to #2416) Favicon, store logo and e-mail banner are now managed from the back-office -> Configuration -> Store
    • (related to #2420) The cheque instructions defined in the back-office were displayed only for en_US locales. This PR fixes this problem, the instructions are now displayed for every locale.
    • (related to #2391) When creating a customer from the back offcie, the state field is now present.
    • (related to #2384) Fix tinymce_lang guess helper
    • (related to #2377) Added missing translation in OrderPayment.php
    • (related to #2351) Changed ModelCriteriaTools to be less restrictive in checking column. The old code only checked if there was a translation available (a row present) and not the content of a column that could be NULL.
    • (related to #2335) Fix behavior of translate page in back office : "custom_fallback" and "global_fallback" were ignored when "view_missing_traductions_only" was on
    • (related to #2301) "view" authorization is now checked for Thelia feed list and last version number on the back-offcie home page
    • (related to #2286) Fix AbstractExport array rewind bug
    • (related to #2278) Fix i18n typo : Amñinistración => Administración
    • (related to #2275) Fixed select option rendereing in render_form_field.html
    • (related to #2273) Fixed number input in coupon percentage html5 fragment
    • (related to #2262) success_url is now cosidered when deleting a cart_item
    • (related to #2026) regexp significant characters are now escaped whe n processing URL parameters
    • (related to #1949) $CONTENT_COUNT in folder loop now returns the number of visible contents, and not the number of all (including not visible) contents.
    • (related to #1877) Update shipping-configuration-edit.html to escape markup in shipping zone name
    • (related to #1876) Update form.html to escape coupon code HtML
    • (related to #1875) Update coupon-update.html to escape coupon code HtML
    • (related to #1822) To prevent token errors when maniplating cart items, the cart token is no longer refreshed in the delete token code
    • (related to #1743) Back-Office template sale edit
    • (related to #1717) The stock of a virtual product is now checked
    • (related to #2414) In the cart, the first PSE image if nos displayed, if there is one. The product image is displayed otherwise.
    • (related to #2408) Code style fixes and translations improvements
    • (related to #2408)
      cound now be used in text email templates to force a line break
    • (related to #2272) Form fields error information are now saved in the global form error context, and remain available after a redirection.
    • (related to #2276) Product loop fix: addOutputFields() method may now to manipulate fields that were set in associateValues()
    • (related to #2293) performance improvement for calculating order total. This calculation uses now only one request instead of (1 + number of products).
    • (related to #2345) fix and improvement of counting sub categories and sub folders. The number of request is reduced, and the visibility status of products or contents is now considered. Category and subcategory products are now deleted by dispatching a TheliaEvents::PRODUCT_DELETE instead of calling Product::delete()
    • (related to #2349) New feature: It is now possible to send a test email message from the Preview tab of mailing template modification page
    • (related to #2380) Fix for wrong product reference on cart and order-invoice pages
    • (related to #2402) "Coupon" substitutions are now available in the templates
    • (related to #2400) Back-office HTML typo
    • (related to #2394) The customer state is now used to calculate cart taxes
    • (related to #2357) When the resize mode is "none", and required image is bigger than original image in both dimensions, the image is now zoomed if allow_zoom is true.
    • (related to #2403) Fix for wrong or missing types in ProductCloneEvent
    • (related to #2363) Improved products templates features. 1) When a product's template is modified, only the obsolete attribute combinations are deleted, this is much better than deleting all attribute combinations. 2) When an attribute is removed from a template, all related products are also updated, and obsolete attribute combinations are removed. 3) When a feature is removed from a template, the related products are updated, and the feature is removed from the product. 4) The template management page now displays the related products and categories, making finding which products or categories uses the template easier. 5) It is now possible to duplicate a product template. 6) Product and Category loops have now a template_id parameter, to filter results on one ore more template IDs.
    • (related to #2369) PHP7 related fix: $return was declared as string, and used as array
    • (related to #2372) When an URL for a disabled language is invoked, the page in the disabled locale was displayed. The user is now redirected to the default language URL.
    • (related to #2396) Fix for domain-based language selection
    • (related to #2395) In RemoveXPercent coupon type, the discount is no longer rounded to 2 decimals.
    • (related to #2389) Thelia export --list-archiver will not return an error if one of the supported archiver extensions is not installed
    • (related to #2379) When creating a product, the default tax rule is used if none is defined in the ProductCreateEvent event.
    • (related to #2378) When used in the back-office context (backend_context=1), the feature loop will return all features
    • (related to #2296) <option> label margin using CSS is not working in IE and Safari, making category tree selection hard to use. &nbsp; is now used, via the {option_offset l=n label='some label'} Smarty custon function
    • (related to #2375) Force an update of Cart model after deleting an item, so that the listeners will not notice the change
    • (related to #2374) Image position field is now available in Carousel module configuration
    • (related to #2365) en_US translation improvements
    • (related to #2364) On the contact page, the map is now fetched using https
    • (related to #2356) Parameter product_count_visible_only added to category loop
    • (related to #2283) Typo which prevents to save the custom-css.less file in TinyMCE module
    • (related to #2338) All exceptions are now logged in the Thelia log file
    • (related to #2348) fix customer delete in back-offcie search view
    • (related to #2339) Fix for #2337 to always get a correct LOOP_TOTAL
    • (related to #2334) Fix "Class not found" in AbstractArchiver
    • (related to #2327) Add cart success_url, which is missing for mobile
    • (no related PR) Thelia version is now fetched using https insteade of http
    • (related to #2326) Fix the "visible" argument of folder-path and category-path loops, which was not working after the first iteration. The code for the "depth" element was missing in these loops, and is now written.
    • (related to #2325) Cart discount is now updated after login
    • (related to #2323) Fix possible html break if the database contains a product that has multiple product sale element by default.
    • (related to #2277) Module information is now displaying properly module information of 2.2 module.xml files, and specially authors.
    • (related to #2309) Added missing hooks in back-office search results tables head and body
    • (related to #2320) Fix the sorting feature in categories and folders back-office views: some sorting criteria, such as visible or ID where not implemented in the loops.
    • (related to #2310) Fix for of array based loops extensions, to allow listeners to change array content.
    • (related to #2312) Added order ID to 'customer.orders-table-row' hook parameters
    • (related to #2313) The manual order is now working properly in the content loop.
    • (related to #2308) Use service in ContainerAwareCommand to get URL instance. It will prevent further calls to this service to override request context.
    • (related to #2291) Fix currency change to default where no currency in request. Change to default only if requested currency not exists.
    • (related to #2287) Fix for not working decimals=0 in {format_number} or {format_money}
    • (related to #2306) fr_FR translation imrpovement
    • (related to #2303) en_US translation imrpovement
    • (related to #2300) Back-office HTML typo
    • (related to #2299) Back-office HTML tag typo for displaying current lang flag
    • (related to #2295) Fix method initRequest on the ContainerAwareCommand
    • (related to #2281) Fixed PECL extentions install script in docker setup
    • (related to #2271) Invisible (off-line) categories are now available in coupon conditions and types
    • (related to #2264) Check if php extension "dom" is installed (issue #2263)
    • (related to #2265) Fix #2225 wrong version displayed in db update script (issue #2225)
    • (related to #2266) Bad parsing of web version in DB update script (issue #2226)
    • (related to #2259) Fixed "cart contains products" & "cart contains categories" coupon conditions
    • (related to #2261) The manual order is now working properly in the product loop.
    • (related to #2257) Fix for wrong order coupon amount
    • (related to #2256) Check if a RemoveXAmount type coupon is valid for special offers
    • (related to #2255) Moved php shebang in the right file
    • (related to #2254) add parameter "module_code" to "modules.table-row" hook
    • (related to #2238) New method BasePaymentModuleController::saveTransactionRef() to save order transaction reference
    • (related to #2232) Moved to container-based infrastructure for Travis CI
    • (related to #2235) Add DISCOUNT_AMOUNT variable to order_coupon loop
    • (related to #2227) Fix for two problems with CART_FINDITEM event processing: 1) The CartEvent dispatched with CART_FINDITEM was the one received by Thelia\Action\Cart::addItem(), thus stopping event propagation will stop the whole cart add process. 2) Thelia\Action\Cart::findCartItem() was not aware of a cart item set in the event by event listeners with a higher priority, thus this cart item is always overwritten.
    • (related to #2221) Completed default email template FR and EN translations
    • (related to #2224) Added simple messages (no Message object required) processing to the MailerFactory, throug the sendSimpleEmailMessage() and createSimpleEmailMessage() methods. A new getMessageInstance() method has been added, to prevent direct usage of \Swift_Message::newInstance()
    • (related to #2217) New feature: Protected and hidden modules
    • (related to #2197) Pagination of coupon list
    • (related to #2198) Cancel coupon usage on order cancel
    • (related to #2190) Admin Home page statistics improvements
    • (related to #2189) Performance improvement in feature-availability loop
    • (related to #2188) A more effective way to solve issue free text feature problem (see #2061)
    • (related to #2174) New PSR-6 implementation + thelia.cache service and smarty cache block
    • (related to #2167) Add global variable app to Smarty to be consistent with Twig
    • (related to #2165) Add replyTo parameter in mailer factory
    • (related to #2081) Order Status improvements
    • (related to #2164) New confirmation email option after customer creation
    • (related to #2153) Lighten placeholders color to be more different than filled inputs
    • (related to #2149) Fixed status_id parameter access
    • (related to #2148) Added search by EAN code to product sale elements loop
    • (related to #2146) Fix search in i18n fields when backend_context=1, and search improvements. The loop search system is imporved, by providing the StandardI18nFieldsSearchTrait, which manages searches in the standard internationalized fields (title, chapo, description and postscriptum). In the back-office, customer search is now in sentence (%term%) mode, to allow incomplete word matches, such as part of an email address.
    • (related to #2140) Added missing "calendar" PHP extension to docker config
    • (related to #2107) Add create function for AlphaNumStringType argument
    • (related to #2082) Product and PSE references added to invoice template
    • (related to #2093) Fix #1662 add of hooks in pdf email and account-order
    • (related to #2106) Added order-invoice form hooks
    • (related to #2109) Module routers priority improvement
    • (related to #1912) Fix for feature loop with product filter
    Source code(tar.gz)
    Source code(zip)
  • 2.4.0-alpha1(Sep 19, 2016)

    • (related to #2266) Fix #2226 : Bad parsing of web version in db update script
    • (related to #2265) Fix #2225 : Wrong version displayed in db update script
    • (related to #2264) Fix #2263 : check php extension "dom" is installed
    • (related to #2261) Cast position_delegate virtual column to number in product loop
    • (related to #2259) Coupon - fix cart contains products & cart contains categories conditions
    • (related to #2257) Coupon - fix order coupon amount
    • (related to #2256) Coupon - add available on special offers in remove x amount type
    • (related to #2255) Moved php shebang in the right file
    • (related to #2254) Add parameter "module_code" to "modules.table-row"
    • (related to #2251) Remove a forgotten debug instruction
    • (related to #2250) Fix hook register listener that throws unucessary exceptions
    • (related to #2249) Fix identical queries in the productSaleElement loop and the Product loop
    • (related to #2243) Fixed and optimized content and product loops
    • (related to #2240) Fixes #2229 : bad resource code in MailingSystemController class
    • (related to #2239) Fixes #2233 : customer profile update
    • (related to #2238) New method to save order transaction ref
    • (related to #2237) Fixed cancelPayment method in BasePaymentModuleController class
    • (related to #2235) Add amount in order coupon loop parse results
    • (related to #2232) Moved to container-based infrastructure for Travis CI
    • (related to #2231) Fix #2215 : loop pagination cache
    • (related to #2230) Hook fixes
    • (related to #2227) Fix for two problems with CART_FINDITEM event processing
    • (related to #2224) Added simple message processing to MailerFactory
    • (related to #2222) Fix duplicates in country loop when used with "with_area" argument
    • (related to #2221) Completed default email template FR and EN translations
    • (related to #2220) French translations
    • (related to #2219) Fix coupons issues
    • (related to #2217) Protected/hidden modules
    • (related to #2214) Fix for #2213 : Nesting loops with the same argument set is now working
    • (related to #2208) Fix missing model on LoopResultRow
    • (related to #2207) Add delimiter and enclosure for header insertion
    • (related to #2206) Add reset array pointer if $data is an array.
    • (related to #2205) Fixed sale edit form
    • (related to #2204) Add isEmpty(), to check if $data is empty.
    • (related to #2203) Check if $error exist, specific for submit type
    • (related to #2202) Fix currency creation modal (The currency field is missing in the html template)
    • (related to #2201) Deprecated class NotFountHttpException because typo and removed deprecated classes
    • (related to #2198) Cancel coupon usage on order cancel
    • (related to #2197) Pagination of coupon list
    • (related to #2191) Update BO typo
    • (related to #2190) Home stats improvements
    • (related to #2189) Huge performance improvement in feature-availability loop
    • (related to #2188) A more effective way to solve issue #2061
    • (related to #2187) Merge versions 2.1.10 2.2.4 2.3.2 in master branch
    • (related to #2181) Fix CSV export cached file size
    • (related to #2178) Add a coupon type to offer a product
    • (related to #2174) PSR-6 + thelia.cache service and smarty cache block
    • (related to #2173) Fix customer discount apply on backoffice
    • (related to #2171) Fix sql syntax in setup/update/tpl/2.4.0-alpha1.sql.tpl
    • (related to #2170) Fix #2166 : array to string conversion when php setup/update.php
    • (related to #2168) Router redirect to last rewriting_url
    • (related to #2167) Add global variable app to Smarty
    • (related to #2166) Fixed the update process when thelia.net is out of order
    • (related to #2165) Add replyTo parameter in mailer factory
    • (related to #2164) Add confirmation email option after customer creation
    • (related to #2163) Update fr_FR.php
    • (related to #2161) State Fixes
    • (related to #2160) Added missing home.block 'class' parameter
    • (related to #2157) Prevent an infinite loop in new product dialog
    • (related to #2155) Injects versions 2.1.9 2.2.3 2.3.1 in the master branch
    • (related to #2154) Test range dates exists before testing type
    • (related to #2153) Lighten placeholders color
    • (related to #2150) Fix form and validator translations
    • (related to #2149) Fixed status_id parameter access
    • (related to #2148) Added search by EAN code to product sale elements loop
    • (related to #2147) Fixed help text display if show_label is false
    • (related to #2146) Fix search in i18n fields when backend_context=1, and search improvements
    • (related to #2145) Fix for taxes & tax rules description display in Taxes rules page.
    • (related to #2144) Fix sql_mode
    • (related to #2143) Change order_adress in account-order
    • (related to #2142) Force utf8 on thelia update
    • (related to #2139) Start page correction
    • (related to #2135) Fix ressources check for translation view
    • (related to #2133) Add ORDER_UPDATE_TRANSACTION_REF event
    • (related to #2132) Fix change default category and default folder
    • (related to #2129) Fix order export date interval
    • (related to #2128) Fix checkout issues
    • (related to #2127) Fix for 2.3.0 BC break.
    • (related to #2125) fix construct in GenerateRewrittenUrlEvent
    • (related to #2123) Init Version 2.4.0-alpha1
    • (related to #2109) Module routers priority improvement (issue #2108)
    • (related to #2107) Add create function for AlphaNumStringType argument
    • (related to #2106) Added order-invoice form hooks
    • (related to #2093) Fix #1662 add of hooks in pdf email and account-order
    • (related to #2082) Fix issue #2003 : product and pse ref in invoice template
    • (related to #2081) Order Status
    Source code(tar.gz)
    Source code(zip)
  • 2.3.3(Aug 31, 2016)

    • Fix identical queries in the productSaleElement loop and the Product loop (related to #2249)
    • Fixed and optimized content and product loops (related to #2243)
    • Fix #2229 : bad resource code in MailingSystemController class (related to #2240)
    • Fix #2233 : customer profile update (related to #2239)
    • Fixed cancelPayment method in BasePaymentModuleController class (related to #2237)
    • Fix #2215 : loop pagination cache (related to #2231)
    • Hook fixes (related to #2230)
    • Fix duplicates in country loop when used with "with_area" argument (related to #2222)
    • Fix coupons issues (related to #2219)
    • Fix for #2213 : Nesting loops with the same argument set is now working (related to #2214)
    • Fix missing model on LoopResultRow (related to #2208)
    • Add delimiter and enclosure for header insertion (related to #2207)
    • Add reset array pointer if $data is an array. (related to #2206)
    • Fixed sale edit form (related to #2205)
    • Add isEmpty(), to check if $data is empty. (related to #2204)
    • Check if $error exist, specific for submit type (related to #2203)
    • Fix currency creation modal (The currency field is missing in the html template) (related to #2202)
    • Update BO typo (related to #2191)
    Source code(tar.gz)
    Source code(zip)
  • 2.2.6(Aug 30, 2016)

    • Fix #2229 : bad resource code in MailingSystemController class (related to #2240)
    • Fixed cancelPayment method in BasePaymentModuleController class (related to #2237)
    • Fix #2215 : loop pagination cache (related to #2231)
    • Fix coupons issues (related to #2219)
    • Fix for #2213 : Nesting loops with the same argument set is now working (related to #2214)
    • Fix missing model on LoopResultRow (related to #2208)
    • Fixed sale edit form (related to #2205)
    Source code(tar.gz)
    Source code(zip)
  • 2.1.11(Aug 30, 2016)

    • Fix #2229 : bad resource code in MailingSystemController class (related to #2240)
    • Fixed cancelPayment method in BasePaymentModuleController class (related to #2237)
    • Fix #2215 : loop pagination cache (related to #2231)
    • Fix for #2213 : Nesting loops with the same argument set is now working (related to #2214)
    • Fixed sale edit form (related to #2205)
    Source code(tar.gz)
    Source code(zip)
  • 2.2.5(Jun 21, 2016)

  • 2.3.2(Jun 14, 2016)

    • (related to #2182) Fix compatibility with sql_mode STRICT_ALL_TABLES
    • (related to #2181) Fix CSV export cached file size
    • (related to #2173) Fix customer discount apply on backoffice. The custome permanentr discount is also applied on the back office if the user is logged in front office
    • (related to #2168) Fix router redirect to last rewriting_url
    • (related to #2166) Fixed the update process when thelia.net is out of order
    • (related to #2160) Added missing home.block 'class' parameter
    • (related to #2157) Prevent an infinite loop in new product dialog
    • (related to #2154) Add Test range dates exists before testing type
    Source code(tar.gz)
    Source code(zip)
  • 2.2.4(Jun 14, 2016)

    • (related to #2182) Fix compatibility with sql_mode STRICT_ALL_TABLES
    • (related to #2173) Fix customer discount apply on backoffice. The custome permanentr discount is also applied on the back office if the user is logged in front office
    • (related to #2168) Router redirect to last rewriting_url
    • (related to #2160) Added missing home.block 'class' parameter
    Source code(tar.gz)
    Source code(zip)
  • 2.1.10(Jun 14, 2016)

    • (related to #2182) Fix compatibility with sql_mode STRICT_ALL_TABLES
    • (related to #2173) Fix customer discount apply on backoffice. The custome permanentr discount is also applied on the back office if the user is logged in front office
    Source code(tar.gz)
    Source code(zip)
  • 2.3.1(May 18, 2016)

    • (related to #2150) Fix form and validator translations
    • (related to #2147) Fixed help text display if show_label is false
    • (related to #2145) Fix for taxes & tax rules description display in Taxes rules page
    • (related to #2144) Fix automatic configuration for the sql_mode
    • (related to #2142) Force utf8 on thelia update
    • (related to #2139) Start page correction for the loops
    • (related to #2135) Fix ressources check for translation view
    • (related to #2132) Fix change default category and default folder. Since the pull request #2066, it's no longer possible to change the default category of a product or the default folder of a content.
    • (related to #2129) Fix order export date interval
    • (related to #2128) Fix address state check in delivery cost estimation and fix login error due to symfony update
    • (related to #2127) Fix 2.3.0 major BC break in Thelia\Core\Event\Order\OrderPaymentEvent
    • (related to #2125) Fix construct in GenerateRewrittenUrlEvent
    Source code(tar.gz)
    Source code(zip)
  • 2.2.3(May 18, 2016)

    • (related to #2147) Fixed help text display if show_label is false
    • (related to #2144) Fix automatic configuration for the sql_mode
    • (related to #2142) Force utf8 on thelia update
    • (related to #2139) Start page correction for the loops
    • (related to #2135) Fix ressources check for translation view
    • (related to #2125) Fix construct in GenerateRewrittenUrlEvent
    • (related to #2118) Module TinyMCE, fix the path for the Java uploader
    • (related to #2096) Fix currency change, an exception was thrown if the currency does not exist
    • (related to #2090) Fix GenerateRewrittenUrlEvent, add getters and setters
    • (related to #2084) Check if customer exist in coupon builder
    • (related to #2080) Fix missing function addoutputfields in the loops
    • (related to #2078) Fixed checkbox and radio automatic rendrering. The "checked" status of checkboxes and radios was not correctly managed by form-field-attributes-renderer.html
    • (related to #2068) Use template default fallback in View Listener. Module views was not properly processed when the active front template is not "default"
    • (related to #2068) Fix customer edit view ACL, replace update by view for edit a customer
    • (related to #2058) Fix bug when sending the attribute combination builder form if the user had not selected attribute
    • (related to #2052) Fix #2040 Missing trait PositionManagementTrait in ModuleImage
    • (related to #2041) Fix possible circular reference for category tree and folder tree
    • (related to #2017) Add constraint of unicity in create and update hook form
    • (related to #2012) Checking MySQL version to set sql_mode automatically, this fixed the compatibility with MySQL > 5.6 for modes STRICT_TRANS_TABLES, NO_ENGINE_SUBSTITUTION
    • (related to #2010) Improve product price edition tab
    • (related to #2005) Use a wider version requirement on thelia/installer for setup/
    • (related to #1999) Fix Folder breadcrumb, the parent url was not good if you edit a picture in a folder or a content
    • (related to #1980) Update database schema to increase module version field to 25 chars.
    • (related to #1967) Module Colissimo : Replace country title by isoalpha2 in export for expeditor
    • (related to #1962) Fix exception when cloning a product if the i18n in specific locale does not exist
    • (related to #1958) Fix missing success_url on Brand SEO update
    • (related to #1956) Fix UX right class in brand products pagination in the frontOffice
    • (related to #1946) Fix the automatic inclusion of the TaxType class only if extension == php
    • (related to #1939) Add visible and visible_reverse values in Product Loop order argument
    • (related to #1936) Fixed the module name verification for command module:position
    • (related to #1928) Hook DI alert messages thrown as exceptions in dev. mode
    • (related to #1921) Modules 'configuration' and 'hook' buttons behavior fix
    • (related to #1920) Fixed coupons conditions label translation
    • (related to #1917) Fixed translations bug in user mode with view only missing translations activated
    • (related to #1914) The module list in the translation page is now ordered by module code instead of module title
    • (related to #1908) A fix for "terms & conditions" bootbox height
    • (related to #1906) Fix coupon create form data
    • (related to #1799) Fixed the redirection to rewritten URL
    • (related to #1797) Fix order manual and manual_reverse in AttributeCombination loop
    • #1901 Update Colissimo export, add link to order and to customer, add package weight
    Source code(tar.gz)
    Source code(zip)
  • 2.1.9(May 18, 2016)

    • (related to #2144) Fix automatic configuration for the sql_mode
    • (related to #2139) Start page correction for the loops
    • (related to #2135) Fix ressources check for translation view
    • (related to #2125) fix construct in GenerateRewrittenUrlEvent
    • (related to #1920) Fixed coupons conditions label translation
    • (related to #1946) Fix TaxType class only if extension == php
    • (related to #1958) Missing success_url on Brand SEO update
    • (related to #1967) Replace country title by isoalpha2 in export for expeditor
    • (related to #1999) Update FolderBreadcrumbTrait.php
    • (related to #2005) Use a wider version requirement on thelia/installer for setup
    • (related to #2091) Checking MySQL version to set sql_mode automatically
    • (related to #2041) Fix possible circular reference for category tree and folder tree
    • (related to #2058) Fix Bug on submit combination builder empty form
    • (related to #2068) Fix customer edit access
    • (related to #2073) Use template default fallback in View Listener
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0(Apr 22, 2016)

    • #2121 Fix possible Compile Error in delivery loop
    • #2117 Fix Admin update, the password is no longer required for update of an admin
    • #2118 Module TinyMCE, fix the path for the Java uploader
    • #2120 Fix {count} in search context, {count} doesn't work when searching (since 2.3.0 alpha-1)
    • #2116 Updated translations from Crowdin
    • #2110 Added a way to set specific date/time format for lang, fixed date/time format for fr_FR
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0-beta2(Apr 12, 2016)

    • #2030 Fix ziparchive not found, add a message to prevent that the zip extension was not found on the server
    • #2104 Fixed update function issue in Colissimo module
    • #2096 #2103 Fix currency change, an exception was thrown if the currency does not exist
    • #2097 Fixed and improved cancel order processing
    • #2095 Updated translations from Crowdin
    • #2092 Fix Module TheliaSmarty, replace the request service by requestStack service
    • #2091 Fixed NO_ENGINE_SUBSTITUTION setting for MariaDB
    • #2090 Fix GenerateRewrittenUrlEvent, add getters and setters
    • #2084 Check if customer exist in coupon builder
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0-beta1(Apr 4, 2016)

    • #2062 Remove composer dependency leafo/lessphp
    • #2060 Fix BC, TaxRule action introduces a compatibility break
    • #2080 Fix missing function addoutputfields in the loops
    • #2078 Fixed checkbox and radio automatic rendrering. The "checked" status of checkboxes and radios was not correctly managed by form-field-attributes-renderer.html
    • #2079 BackOffice : UX improvements on tablets, the right menu was too broad
    • #2067 Fix esi render. The sub-request was not a Thelia request
    • #2066 Fix the problem of position if a product or content in several sections and folders
    • #2073 Use template default fallback in View Listener. Module views was not properly processed when the active front template is not "default"
    • #2068 Fix customer edit view ACL, replace update by view for edit a customer
    • #2063 Fix, when deleting a product with a free text feature value, the free text feature value was not removed
    • #2058 Fix bug when sending the attribute combination builder form if the user had not selected attribute
    • #2056 Fix UX bug on product list in the frontOffice, the grid icon or the list icon do not lock
    • #2040 Fix bug when change image position on the module config page. The trait PositionManagementTrait was missing in ModuleImage
    • #2054 Fix the update process for the Collissimo module
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0-alpha2(Mar 17, 2016)

    • #1985 Add delivery and payment events MODULE_PAYMENT_IS_VALID, MODULE_PAYMENT_MANAGE_STOCK, MODULE_DELIVERY_GET_POSTAGE
    • #2045 Moves the backOffice statistics in the new module HookAdminHome
    • #2044 Add possibility to change number by default of results per page for the product list, the order list and the customer list in the backOffice
    • #2042 Avoid having too many results in the backOffice search page
    • #2021 Fixes hooks mini-cart, sale.top, sale.bottom, sale.main-top, sale.main-bottom, sale.content-top, sale.content-bottom, sale.stylesheet, sale.after-javascript-include, sale.javascript-initialization, account-order.invoice-address-bottom, account-order.delivery-address-bottom
    • #2041 Fix possible circular reference for category tree and folder tree
    • #2039 Disable the output of the url by the loops on the BackOffice
    • #2034 Add column position in attribute combination table
    • #2028 Fixed translation regexp prefix for templates
    • #2027 Confirmation email when subscribing to newsletter, and subscription cancel page
    • #2017 Add constraint of unicity in create and update hook form
    • #2012 Checking MySQL version to set sql_mode automatically, this fixed the compatibility with MySQL > 5.6 for modes STRICT_TRANS_TABLES, NO_ENGINE_SUBSTITUTION
    • #2009 Display PSE ref in backOffice order edit for the product list
    • #2001 Check PHP version before trying to do anything in install process
    • #1999 Fix Folder breadcrumb, the parent url was not good if you edit a picture in a folder or a content
    • #1998 Add not blank constraint on zipcode in address create form
    • #1988 Fix hide module-install if auth are not right in the BackOffice
    • #1907 Administrators should now have an email address. They may use login name or email to log in the back-office. They could now create a new a password if they forgot it. New minimum_admin_password_length and enable_lost_admin_password_recovery configuration variable.
    • #1962 Fix exception when cloning a product if the i18n in specific locale does not exist
    • #1933 #2006 #2016 #2033 Upgrade Symfony 2.3 to Symfony 2.8
    • #1995 Added order search options, improved search page in the backOffice
    • #1994 Allow coupon in first cart step
    • #1993 Fix the default language isocode link in backOffice languages page
    • #1992 Add method to find category path Thelia/Model/CategoryQuery::getPathToCategory
    • #1977 Fixed translation domain in NewsletterController
    • #1980 Update database schema to increase module version field to 25 chars.
    • #1971 #1973 Adds an address email to the administrator profile and adds the password lost functionality for administrators
    • #1970 Add CartDuplicationEvent which provide both original and duplicated cart to listeners
    • #1967 Module Colissimo : Replace country title by isoalpha2 in export for expeditor
    • #1964 Fixed cart not deleted after an order placed
    • #1960 Add events CART_ITEM_CREATE_BEFORE and CART_ITEM_UPDATE_BEFORE
    • #1959 Add the ability to format an address by country
    • #1907 Administrator email management and features
      • adds an address email to the administrator profile
      • This address email can now be used to login just like the login name
      • An administrator could now recover a lost password, just like a regular customer
    • #1958 Fix missing success_url on Brand SEO update
    • #1956 Fix UX right class in brand products pagination in the frontOffice
    • #1948 Allow to define custom delimiter and enclosure char for CSV serializer
    • #1947 Added a way to get category/product from related content ID
    • #1946 Fix l'inclusion automatique of the TaxType class only if extension == php
    • #1939 Add visible and visible_reverse values in Product Loop order argument
    • #1936 Fixed the module name vefication for command module:position
    • #1931 Add a optional parameters CC and BCC in method \Thelia\Mailer\MailerFactory::sendEmailMessage
    • #1929 Mod: BaseController useFallbackTemplate set to true by default
    • #1928 Hook DI alert messages thrown as exceptions in dev. mode
    • #1926 Fix redirection after coupon consume
    • #1923 Re enabled functional tests for back office
    • #1922 Colissimo Move the prices from a json to a config
    • #1921 Modules 'configuration' and 'hook' buttons behavior fix
    • #1920 Fixed coupons conditions label translation
    • #1917 Fixed translations bug in user mode with view only missing translations activated
    • #1916 Fix upload document. The document title is missing after upload
    • #1914 The module list in the translation page is now ordered by module code instead of module title
    • #1913 Conservation the emails after unsubscribe on newsletter
    • #1911 Add 'admin_current_location' arg for 'main.in-top-menu-items' Hook
    • #1908 A fix for "terms & conditions" bootbox height
    • #1906 Fix coupon create form data
    • #1904 Update tinyMCE
    • #1903 Added missing generateErrorRedirect()
    • #1895 Add a link to the contact page in the front footer and update bootstrap
    • #1881 Display only the zones affected to Colissimo in the backOffice
    • #1853 Coupon, add condition match for cart item include quantity
    • #1815 #1963 #1984 #1989 #1997 #2013 #2019 Import/export complete rework
    Source code(tar.gz)
    Source code(zip)
  • 2.3.0-alpha1(Jan 8, 2016)

    • #1902 Update Colissimo export, add link to order and to customer, add package weight
    • #1801 Fixed cart duplication conditions at user login/logout
    • #1892 Add a name verification when creating a module with a command
    • #1891 Add primary key in coupon_customer_count and ignored_module_hook tables.
    • #1701 This PR improves the Order::createOrder() so that the method could be used to duplicate an order by re-using the delivery and invoice addresses defined in the original order.
    • #1823 Add states/provinces concept. The objective of this PR is to separate states/provinces of countries. For now, the concept of states/provinces was managed in country model which was not the best way.
    • #1878 Add module code in the lists of the BackOffice for a better understanding.
    • #1832 Language improvement. Add the possibility to disable a language. It's possible to disable the language only for the front.
    • #1851 Add in the module Tinymce, the possibility to choose in which text areas the editor will be used.
    • #1840 Add the possibility to generate an url with the arguments router and route_id in the smarty function url. Documentation http://doc.thelia.net/en/documentation/templates/urls-and-paths.html
    • #1872 Add next/prev buttons for orders and customers. Modify the loops of brands, categories, folders and contents so that the queries to get the next and previous objects are sent only when it is needed.
    • #1850 #1859 Add hooks for email template
    • #1845 Add price including taxes in the combination creation pop-up in the BackOffice
    • #1868 Allow to open order-edit.html template with a specific module tab
    • #1861 Add links to the appropriate pages
    • #1860 Change version of Symfony Yaml components
    • #1843 Fix smarty form_collection_field, a performance problem was introduced after this PR: #1613 because ​the Form::createView() method create all form view on each call.
    • #1856 Convert order.invoice_date to datetime column
    • #1852 Add the possibility to disable the generation of url for the loops, adds argument return_url in loops, the default value for argument return_url is true
    • #1857 Fix of hookblack : order.tab
    • #1792 Update module Carousel, change the location of saving of the images
    • #1844 #1848 Added hooks in the right column part of the edtion form of brand, content, category folder and product templates :
      • brand.modification.form-right.top, brand.modification.form-right.bottom
      • category.modification.form-right.top, category.modification.form-right.bottom
      • content.modification.form-right.top, content.modification.form-right.bottom
      • folder.modification.form-right.top, folder.modification.form-right.bottom
      • product.modification.form-right.top, product.modification.form-right.bottom
    • #1835 Add the product combination in PDF delivery
    • #1788 Remove all the AdminIncludes from the core modules.
    • #1841 Add the possibility to create a product combination with several same attribute inside (2 colors in one product sales elements).
    • #1830 Fix attribute title in the modal "create a new combination"
    • #1780 Currency improvements. Add the possibility to disable a currency. Add the possibility to change the position of the currency symbol. Resolve #1446
    • #1825 Add message if thelia project is not installed
    • #1714 #1839 #1833 Hook improvements
      • Add new syntax to hook on a hook. Documentation http://doc.thelia.net/en/documentation/modules/hooks/index.html
      • Add command php Thelia hook
    • #1824 #1829 Fix the admin home stats, On page load, the month sent to Thelia was bad
    • #1821 Fix the value for constant AdminForm::LANG_DEFAULT_BEHAVIOR, Resolve ##1820
    • #1818 Fix BackOffice menu, hook block to integrate main link if it's used
    • #1816 Fix the total price of cart if the items have a quantity greater than one, Resolve #1772, add new methods getTotalRealTaxedPrice, getTotalTaxedPrice, getTotalTaxedPromoPrice in the model Thelia\Model\CartItem
    • #1783 Fix product price exports. Resolve #1078 #1610
    • #1808 Add customer's company in order mails and PDF
    • #1780 Adds the ability to disable a currency and change the position of the currency symbol
    • #1806 Fix the event dispatched before decoding of the import, TheliaEvents::IMPORT_AFTER_DECODE to TheliaEvents::IMPORT_BEFORE_DECODE
    • #1799 Fixed the redirection to rewritten URL
    • #1725 Added new attributes and some aliases to the {cart} substitution
      • A new weight attribute is added, to get the cart total weight.
      • A new total_price_without_discount attribute is added, to get the cart total amount without taxes, excluding discount.
      • The following aliases of existing attributes are added, to provide a better english syntax, or a more accurate name :
        • product_count, alias of count_product
        • item_count, alias of count_item
        • total_price_with_discount alias of total_price
        • total_taxed_price_with_discount alias of total_taxed_price
        • contains_virtual_product alias of is_virtual
        • total_tax_amount alias of total_vat
    • #1802 After upload, The image file name is no longer the default image title
    • #1805 Add a new parameter locale for the module_config smarty plugin
    • #1796 Fix regression in OrderAddressEvent cell phone can not be required in the constructor
    • #1787 Add loop Overriding, Documentation http://doc.thelia.net/en/documentation/loop/extend.html
    • #1785 Fix undesirable carts, persist only non empty carts
    • #1790 Update the default PSE ref when the product ref is updated
    • #1778 #1797 Add manual and manuel_reverse order in attributeCombination loop
    • #1766 Add order by id and id_reverse in product_sale_element loop
    • #1760 Set order status as paid when the FreeOrder module is used to "pay" an order
    • #1751 Fix for undefined currency exchange rate, add error message in the currency configuration page when an exchange rate could not be found
    • #1769 Increase API key size to 48
    • #1771 Add argument customer_id for hook customer.edit-js
    • #1753 Fix the rounding of prices in the order product loop
    • #1768 Update composer.lock file, update of the dependency thelia/currency-converter to version 1.0.1
    • #1752 Add addValues method in EnumListType
    • #1746 Removes deprecated classes and methods for the version 2.3
    • #1745 Fix output value IS_DEFAULT in the product_sale_elements loop
    • #1754 Add homepage redirection on /admin/login if the admin is already authenticate. Before this change, there was a render
    • #1765 Fix for prev/next queries in Category and Content loops, and add prev/next in Product and Folder loop
    • #1759 Fix for parent attribute and new exclude_parent attribute of Category loop
    • #1750 Add EQUAL to product loop filter by min or max
    • #1727 Add template & stock inputs on product creation
    • #1722 Replaced parameter "locale" with "lang" in generated URL
    • #1732 Update sql constraint for table product_sale_elements_product_image and product_sale_elements_product_document
    • #1730 Change layout to only cache assets/dist
    • #1734 Fix critical performance issue on ProductController HydrateObjectForm
    • #1733 Fix order attribute in BaseHook
    • #1729 Fix all useless DIRECTORY_SEPARATOR
    • #1726 Fix method setRangeDate variable
    • #1718 Autocomplete combination generation form with default pse values
    • #1699 Fix missing use for BirthdayType
    • #1713 Add more options for content, folder and order in search results
    • #1706 Fix form coupon not found in frontOffice order invoice
    • #1700 Fix source priority in ParserContext::getForm
    • #1588 Add document tab in frontOffice product page
    • #1668 Add height limit for the select fields in the Attributes and Features tab of the admin product edit page
    • #1669 Add options exclude_status, status_code, exclude_status_code and output value STATUS_CODE in Order loop
    • #1674 Add options free_text, exclude_free_text in FeatureValue loop
    • #1725 Add weight and total_price_without_discount attributes to the {cart} substitution, and some aliases to provide a better english syntax, or a more accurate name to existing attributes : product_count, alias of count_product, item_count, alias of count_item, total_price_with_discount alias of total_price, total_taxed_price_with_discount alias of total_taxed_price, contains_virtual_product alias of is_virtual, total_tax_amount alias of total_vat
    Source code(tar.gz)
    Source code(zip)
  • 2.2.2(Jan 8, 2016)

    • #1901 Update Colissimo export, add link to order and to customer, add package weight
    • (related to #1857) Fix of hookblack : order.tab
    • (related to #1843) Fix smarty form_collection_field, a performance problem was introduced after this PR: #1613 because ​the Form::createView() method create all form view on each call.
    • (related to #1830) Fix attribute title in the modal "create a new combination"
    • (related to #1825) Add message if thelia project is not installed
    • (related to #1824 #1829) Fix the admin home stats, On page load, the month sent to Thelia was bad
    • (related to #1821) Fix the value for constant AdminForm::LANG_DEFAULT_BEHAVIOR, Resolve ##1820
    • (related to #1818) Fix menu hook block to integrate main link if it's used #1818
    • (related to #1806) Fix the event dispatched before decoding of the import, TheliaEvents::IMPORT_AFTER_DECODE to TheliaEvents::IMPORT_BEFORE_DECODE
    • (related to #1796) Fix regression in OrderAddressEvent cell phone can not be required in the constructor
    • (related to #1790) Update the default PSE ref when the product ref is updated
    • (related to #1783) Fix product price exports. Resolve #1078 #1610
    • (related to #1771) Add argument customer_id for hook customer.edit-js
    • (related to #1769) Increase API key size to 48
    • (related to #1768) Update composer.lock file, update of the dependency thelia/currency-converter to version 1.0.1
    • (related to #1760) Set order status as paid when the FreeOrder module is used to "pay" an order
    • (related to #1753) Fix the rounding of prices in the order product loop
    • (related to #1751) Fix for undefined currency exchange rate, add error message in the currency configuration page when an
    • (related to #1750) Add EQUAL to product loop filter by min or max
    • (related to #1747) Fixed success_url check for contact form
    • (related to #1745) Fix output value IS_DEFAULT in the product_sale_elements loop
    Source code(tar.gz)
    Source code(zip)
Owner
Many modules extend Thelia, find out here https://github.com/thelia-modules Thelia documentation is available on http://doc.thelia.net
null
An eCommerce website is an online store where you can buy or sell products online. An eCommerce offers a professional online store builder that helps you launch your eCommerce business quickly and successfully.

An eCOMMERCE-SITE An eCommerce website is an online store where you can buy or sell products online. An eCommerce offers a professional online store b

UTTKARSH PARMAR 2 Aug 8, 2022
Paypal module for Thelia ecommerce solution

PayPal I) Install notes II) Configure your PayPal account III) Module options payments I) Installation Composer WARNING : A console access is required

null 8 Nov 22, 2022
Lakasir is a free, open source and online Point Of Sale Software designed for small shop or retail

Lakasir is a free, open source and online Point Of Sale Software designed for small shop or retail. It is built with modern technologies such as Laravel, VueJS, Bootstrap 4, RESTful API etc.

Lakasir 234 Dec 31, 2022
A free shopping cart system. OpenCart is an open source PHP-based online e-commerce solution.

OpenCart is a free open source ecommerce platform for online merchants. OpenCart provides a professional and reliable foundation from which to build a successful online store.

OpenCart 6.6k Dec 31, 2022
A free open source e-commerce platform for online merchants based on customised version of Laravel.

A free open source e-commerce platform for online merchants based on customised version of Laravel.

Ace Vinayak 58 Oct 19, 2022
A Free and Opensource Laravel eCommerce framework built for all to build and scale your business.

Bagisto is a hand tailored E-Commerce framework built on some of the hottest opensource technologies such as Laravel (a PHP framework) and Vue.js a progressive Javascript framework.

Bagisto 5k Jan 5, 2023
Shopware 6 is an open source ecommerce platform based on a quite modern technology stack that is powered by Symfony and Vue.js.

Shopware 6 Realize your ideas - fast and without friction. Shopware 6 is an open source ecommerce platform based on a quite modern technology stack th

Shopware 2.1k Dec 31, 2022
PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

PrestaShop is an Open Source e-commerce web application, committed to providing the best shopping cart experience for both merchants and customers. It is written in PHP, is highly customizable, supports all the major payment services, is translated in many languages and localized for many countries, has a fully responsive design (both front and back office), etc. See all the available features.

PrestaShop 6.9k Dec 31, 2022
Open Source eCommerce Platform on Symfony

Sylius is an Open Source eCommerce platform on top of Symfony. The highest quality of code, strong testing culture, built-in Agile (BDD) workflow and

Sylius eCommerce 7.2k Jan 3, 2023
PrestaShop is a fully scalable open source e-commerce solution.

PrestaShop is an Open Source e-commerce web application, committed to providing the best shopping cart experience for both merchants and customers.

PrestaShop 6.9k Jan 9, 2023
Payu payment gateway for bagisto laravel ecommerce open source platform

Bagisto Payu Payment Gateway Payu is a popular payment gateway in india. This package provides a additional strong help for the user to use the payu p

Saju G 3 Dec 14, 2021
Shoperz - Free Open Source Web Shop

Shoperz Shoperz - Free Open Source Web Shop Version 1.0.1 Next update will be added: [+] Function change password [+] Function Change page Name [+] Fu

null 1 Nov 19, 2021
AvoRed an Open Source Laravel Shopping Cart

AvoRed is commin up as a headless graphql version. AvoRed is a free open-source e-commerce platform written in PHP based on Laravel. Its an ingenuous

AvoRed Laravel E commerce 1.4k Dec 30, 2022
AvoRed an Open Source Laravel Shopping Cart

AvoRed is commin up as a headless graphql version. AvoRed is a free open-source e-commerce platform written in PHP based on Laravel. Its an ingenuous

AvoRed Laravel E commerce 1.4k Dec 28, 2022
GetCandy is an open source E-commerce platform which embraces Laravel

GetCandy is an open source E-commerce platform which embraces Laravel as it's foundation and uses it to build a highly extensible, robust and feature rich application you can build any store on.

GetCandy 16 Jun 15, 2022
Sylius is an Open Source eCommerce platform on top of Symfony.

Sylius is an Open Source eCommerce platform on top of Symfony. The highest quality of code, strong testing culture, built-in Agile (BDD) workflow and

Sylius eCommerce 7.2k Jan 5, 2023
Mawthouq Payment is an open source project by Mawthouq

mawthouqpay Welcome to the mawthouqpay ! Mawthouq Payment is an open source project by the first platform Mawthouq that works in Algeria to develop th

Mubtakar Agency 40 Dec 2, 2022
Integrated online shop based on Laravel LTS and the Aimeos e-commerce framework

⭐ Star us on GitHub — it motivates us a lot! ?? Aimeos Laravel ecommerce platform Aimeos is THE professional, full-featured and high performance e-com

Aimeos 3k Jan 5, 2023
An E-Commerce package for Laravel with Grafite CMS. Take control of your content and how you sell it! Products, subscriptions, shipping, downloading and more!

Grafite Commerce Grafite has archived this project and no longer supports or develops its code. We recommend using only as a source of ideas for your

Grafite Inc 45 Jun 8, 2021