smile / module-gift-sales-rule
smile/module-gift-sales-rule
Extension of Magento2 Sales Rule to provide gifted (free) products.
Gift Sales Rule 
What is magento2-module-gift-sales-rule Magento 2 Module?
This module provides 2 new actions to Magento cart price rule feature to :
- offer gift product(s) to customer based on native conditions
- offer gift product(s) to customer each time a threshold is reached (every 30$ in cart for example)
For each cart price rule, administrator can define the number of gift products authorized and use a set of conditions to define the gift product list.
On the frontend side, when the rule is applied, the customer can choose between a list of products the one(s) he prefers and add them to his cart.
Gift products type can be:
- simple product
- configurable product
Who is developing this module ?
[image: Smile]
This module is built by Smile.
Smile is the European leader of Open Source and also a four-times Europe Partner of the the Year (2010-2014), two-times Spirit of Excellence (2015-2016), Global Elite Partner (2017-now), and Regional Commercial Partner (2018) awarded by Magento.
Our multidisciplinary team brings together experts in technology, innovation, and new applications.
Together we explore, invent, and test technologies of the future, to better serve our clients.
Main Features
-
Configure cart price rules to select gift products
[image: To offer product] -
Configure cart price rules to select gift products and the price range
[image: To offer product per price range] -
Display gift product popin
[image: Gift popin] -
Display added gift product in cart
[image: Gift cart]
Documentation
Documentation is available here.
Standards & Code Quality
Built on top of Magento2, our module respects all its prerequisites and code quality rules.
You can also find our PHPCS Standards and PHPMD rulesets in the module directory.
The module is also continuously tested on :
| Tools | Results |
|---|---|
| Travis |
No changelog yet
The vendor hasn't published a changelog. Tagged releases appear in the Versions tab.
| Version | Stability | QA Status | Compatibility | Released |
|---|---|---|---|---|
| 2.0.1 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-04-07 11:16:39 |
| 2.0.0 | stable | Not tested | Not yet tested Details | 2026-04-02 15:10:42 |
| 1.1.8 | stable | Not tested | Not yet tested Details | 2021-01-11 14:34:13 |
| 1.1.7 | stable | Not tested | Not yet tested Details | 2020-11-20 08:50:13 |
| 1.1.6 | stable | Not tested | Not yet tested Details | 2020-11-10 14:39:26 |
| 1.1.5 | stable | Not tested | Not yet tested Details | 2020-11-04 14:16:01 |
| 1.1.4 | stable | Not tested | Not yet tested Details | 2020-10-20 13:48:30 |
| 1.1.3 | stable | Not tested | Not yet tested Details | 2020-10-13 12:56:03 |
| 1.1.2 | stable | Not tested | Not yet tested Details | 2020-10-05 06:28:18 |
| 1.1.1 | stable | Not tested | Not yet tested Details | 2020-09-14 10:33:51 |
| 1.1.0 | stable | Not tested | Not yet tested Details | 2019-10-09 10:25:20 |
| 1.0.5 | stable | Not tested | Not yet tested Details | 2019-09-16 15:35:56 |
| 1.0.4 | stable | Not tested | Not yet tested Details | 2019-09-16 15:08:03 |
| 1.0.3 | stable | Not tested | Not yet tested Details | 2019-06-27 17:20:01 |
| 1.0.2 | stable | Not tested | Not yet tested Details | 2019-06-18 10:22:10 |
| 1.0.1 | stable | Not tested | Not yet tested Details | 2019-06-17 17:04:49 |
| 1.0.0 | stable | Not tested | Not yet tested Details | 2019-06-06 13:02:33 |
Requires 2
| Package | Constraint |
|---|---|
| magento/framework | ^103.0.7 |
| magento/module-sales-rule | ^101.2.7 |
Requires-dev 1
| Package | Constraint |
|---|---|
| smile/magento2-smilelab-quality-suite | ^1.1.0 |
Compatibility
Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.
Code Quality
Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge. A phpcs finding can't make a module incompatible.
Static analysis
Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.
PHPStan
Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases.
Tests
Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.
Unit tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
Integration tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
Security
Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.
More from smile
View vendorMagento 2 merchandising and search engine built on ElasticSearch
Smile - Custom Entity Akeneo Module
Extension of Magento2 Sales Rule to provide gifted (free) products with magento/module-sales-rule-staging.
Smile Retailer Offer Inventory
Turn an existing module into recurring revenue.
If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.