tweakwise / magento2-tweakwise
tweakwise/magento2-tweakwise
Magento 2 module for Tweakwise integration
Installation
Install package using composer
composer require tweakwise/magento2-tweakwise
This will install tweakwise/magento2-tweakwise and tweakwise/magento2-tweakwise-export
Enable module(s) and run installers
php bin/magento module:enable Tweakwise_Magento2TweakwiseExport Tweakwise_Magento2Tweakwise
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy
Configuration
When the extension is installed it is disabled by default. There are three different parts which can be enabled separately. Configuration can be found at Stores -> Configuration -> Catalog -> Tweakwise.
Rundown of all possible settings
Below is a rundown of all configuration options
General:
- Authentication key: This is used to communicate with tweakwise and determines your navigator instance, it should be the same as the key found in the navigator under
Connectivity > End points. - Grouped producets: Enable this after the grouped export has been enabled and imported in tweakwise. This wil enable filtering based on variant data and enabled the product image to be controlled by tweakwise so that the correct color is shown based on selected filters. This requires the image url in tweakwise to be configured correctly. If this is not enabled and you've exported grouped products the catalog may be empty.
Layered Navigation (All settings depend on Enabled having value yes):
-
Enabled: Use tweakwise results in navigation, if disabled the standard magento navigation is used. Don't disable the anchor tag on main categories, this causes al products to be shown. The anchor tag can be disabled on sub-categories.
-
Hide facets with only one option: Given a result set from tweakwise in which a filter has only one option show that filter or not?
-
Use default magento filter renderer: Use Magento standard filter templates or use templates bundled by the module.
If you want to make full use of the features provided by this module then this should be set to No (i.e. make use of tweakwise template files). -
Filter form: This depends on 'Use default magento filter renderer' having value No. Render all filters in a form with filter buttons so that the user can select a set of filters and then navigate to the result instead of immediately navigating to the results when a filter is clicked.
-
Filter url query parameters: Tweakwise filter urls will have all query parameters of the page in it so also the "cid" and utm_source parameters if present.
You can determine in which way you want to filter these out (if any). -
Filter url query arguments: This depends on 'Filter url query parameters' having any value not equal to 'Dont Filter'. This field specifies which parameters should be removed from the tweakwise filter urls.
-
Url strategy: Has two options Query parameters and Seo path slug. If query parameters is selected then the tweakwise filter urls (and thus your navigation urls) will be constructed as
www.example.com/example-category?color=red.If Seo path slugs is selected the url is constructed as
www.example.com/example-category/color/red.
Seo (All settings depend on Enabled having value yes)
- Enabled: use Seo options yes or no.
- Filter whitelist: A list of filters which should be indexable (all filters not selected here are not indexable). If a filter is marked as not indexable then its href attribute will be set to "#" its original url will be set in a data-seo-href attribute which will be used by javascript to navigate.
Note that the category filter is always marked as indexable. This used to be a multiselect field containing magento attributes however tweakwise facilitates derived properties, these properties are not related to magento attributes and as such these filters would be not indexable.
The field has changed to a comma separated text field so that these derived properties can be properly whitelisted. - Max allowed facets: This combines with the Filter whitelist setting. Filters are indexable if and only if they are in the whitelist and the selected filter count does not go above max_allowed_facets.
The reason this is an AND check is because otherwise indexation will still happen on the non whitelisted filters and it is unclear which url is present (an arbitrary amount of filters could be selected).
Suppose max allowed facet is 1 and only "size" is in the whitelist. Then filter "color" with value "red" is not indexable (since "color" is not in the whitelist).
If we now allow the size filter to still be indexable then url example.com/category/color/red/size/M would be indexable whereas example.com/category/color/red is not which is incorrect.
This would lead to infinite crawling on filter urls which is undesirable
Autocomplete (All settings depend on Enabled having value yes)
- Enabled: Use tweakwise autocomplete results or not.
- Use Suggestions Autocomplete: Use new suggestion api (Yes) or use the standard autocomplete api (No)
- Show products *: Show product suggestions in autocomplete results.
- Show suggestions *: Show search suggestions in autocomplete results.
- Stay in category: Use the current category when getting autocomplete results.
- Maximum number of results *: At most this many autocomplete results will be show.
- Hidden when Use Suggestions Autocomplete is enabled. These settings are not used in the new suggestions api. The new suggestions api is configured in tweakwise itself.
Search (All settings depend on Enabled having value yes)
- Enabled: Use tweakwise search of default magento search results
- Tweakwise search template: The tweakwise template to use for search results (this determines which filters are visible)
- Search language: This determines the language used by the store and is passed to tweakwise. Tweakwise uses this to determine word conjugations and also correct spelling errors when considering which results should be shown to the user.
An example: suppose Language is set to 'Dutch' and the user types 'Bed' (which is the same in English, namely the place where one sleeps) then tweakwise might suggest 'Bedden' (this is plural for 'Beds')
If Language is set to English then in the example above tweakwise might suggest 'Beds'. - Searchbanners enabled: Show searchbanners in the search results. The searchbanners need to be configured in tweakwise.
Merchandising Builder
- Enabled: Use Merchandising Builder (Yes/No) This is only available if you use ajax filtering.
- Cookie name: The cookie which holds the tweakwise profile id, this cookie is (usually) set with a tracking script. The value of this cookie will be added to the tweakwise request, the response will contain a personalized sort order for that particular customer.
Note that Varnish must be enabled for this functionality to work correctly. Varnish is recommended by Magento anyway. The big advantage of Varnish Cache is of course the gain in speed. In addition, it ensures a lower load on the server and thus increases peak resistance.
Using this feature means that all category pages have personalized content. As such, it is no longer possible cache navigation responses where this profile cookie name has been used.
The product list is loaded via the merchandising builder only if the following conditions are met:
- Personal merchandising setting is enabled
- Cookie name setting has a value
- The user has the specified cookie with a non empty value.
When the product list is loaded in such a manner the result will not be cacheable. This has consequences for server load keep this in mind.
Recommendations
- Related products enabled: Replace magento native related products with tweakwise crosssell & upsell recommendations. Terminology is confusing since this is relevant for magento related products and not for magento crosssell products
- Default related products template: Which tweakwise recommendation template to use for related products. Only relevant when crosssell is enabled
This can also be configured on a product and on a category. The template used is determined as follows: first check product for a configured template if not then check the product category for a template. If the category does not have a template configured then use the default. - Default related group code: Only visible when Default crosssell template has value '- Group Code -'. Use this to specify the group of recommendations
- Upsell Enabled: Replace magento native upsell results with tweakwise crosssell & upsell recommendations.
- Default upsell template: Which template recommendation template to use for upsell products. Only relevant when upsell is enabled.
This can also be configured on a product and on a category. The template used is determined as follows: first check product for a configured template if not then check the product category for a template. If the category does not have a template configured then use the default. - Default upsell group code: Only visible when Default upsell template has value '- Group Code -'. Use this to specify the group of recommendations
- Featured products enabled: If yes then tweakwise can show featured products on category pages.
- Default Featured product template: The default template to use when rendering featured products.
The template can also be set per category and falls back to this setting if not found on the category. The templates that can be selected correspond with the templates under 'recomendations->featured products' in tweakwise. - Show Cross-sell items in the shoppingcart. Enables tweakwise cross-sell items in the shoppingcart. Magento shoppingcart crossell items should also be enabled under 'Stores->configuration->sales->checkout->Show Cross-sell items in the Shopping Cart'
- Default crosssell template. Which tweakwise recommendation template to use for shoppingcart crossell items. Only relevant when shoppingcart crosssell is enabled
- Default crosssell group code: Only visible when Default shoppincart crosssell template has value '- Group Code -'. Use this to specify the group of recommendations
- Crossell type: show crossell or featured products in shoppingcart
- Only show products from current category for featured products: Show product from current category in featured products.
- Limit group code recommendations: If group code is used for one/more recommendations, limit the total number of products returned. If empty or 0, all products are returned.
Command
There is an command for regenerting filter urls. This is only relevant when using SEO path slug urls. Only run this command to regenerate the urls if you have problems.
Running this command may change the filter urls and thus may have SEO implications. The command can be run manually using:
php bin/magento tweakwise:regenerate-filter-urls
Support
For in depth support regarding configuration and all options tweakwise has to offer use the following links.
- Tweakwise support: https://www.tweakwise.com/support/
- Tweakwise api documentation: http://developers.tweakwise.com/
- General questions: https://www.tweakwise.com/contact/
- Security vulnerabilities: Send an email to [email protected], with the message that it's an security issue for the magento plugin
For feature requests we refer to the links above.
For technical issues github is used. If you find a technical issue please create an issue on github and notify tweakwise via the links above. If you also happen to have the solution to that issue feel free to create a merge request.
Compatibility
We strive to remain compatible with all Magento 2.X versions and the latest 2.X-1 version where X is the highest Magento official 'sub' release.
Currently X=4 hence we should be compatible with all 2.4 versions and the latest 2.3.x version.
We do not actively drop support for versions below this range and will implement minor changes if that means we can remain compatible with versions below this range.
That being said if we can do a massive simplification of code at the cost of dropping support for version 2.3.Y we will do so.
We also refer to the magento software lifecycle: https://magento.com/sites/default/files/magento-software-lifecycle-policy.pdf.
Note that 2.3 is End Of Life.
Contributors
If you want to create a pull request as a contributor, use the guidelines of semantic-release. semantic-release automates the whole package release workflow including: determining the next version number, generating the release notes, and publishing the package.
By adhering to the commit message format, a release is automatically created with the commit messages as release notes. Follow the guidelines as described in: https://github.com/semantic-release/semantic-release?tab=readme-ov-file#commit-message-format.
6.0.0 (2024-04-12)
Features
Performance Improvements
- Applied phpcs and phpmd rules (9a499fd)
BREAKING CHANGES
- Code is refactored based on phpcs and phpmd rules.
6.0.0-beta.2 (2024-04-09)
Features
6.0.0-beta.1 (2024-03-29)
Performance Improvements
- Applied phpcs and phpmd rules (9a499fd)
BREAKING CHANGES
- Code is refactored based on phpcs and phpmd rules.
Changelog
5.0.0
Backward incompatible changes
- Change repository to tweakwise repo. You need to uninstall the old tweakwise package en reinstall this one
5.0.1
Update module with changes from emico/tweawise v4.3.0
5.0.2
Bug fix for 500 error in autocomplete when no products are found
5.0.3
Bug fixes for autocomplete
- Old autocomplete api is still called when new suggestion api is enabled.
- When using the suggetions api, if the result contains an category you get an 500 error.
5.0.4
Bug fix for areacode in config
Updated readme
5.0.5
Bug fix for personal merchandising hyva theme
5.0.6
Bug fix adobe commerce
5.0.7
Bug fix show parent in autocomplete settings
Bug fix for commerce, searching is slow and wrong item count in hyva theme
5.0.8
Bug fix for installer when using an db prefix
5.1.0
- Added support for searchbanners. Show searchbanners in search results. Configure this in tweakwise. Only setting in magento is to enable/disable showing searchbanners
- Bug fix upsell/crossell templates
5.1.1
- Bug fix deprecated ctype function
- Bug fix swatch order
- Fix float and 0 prices
5.1.2
- Escape clear url
5.2.0
- Feature shoppingcart recommendations from tweakwise
- Bug fix ajax query url
5.2.1
- Bug fix upselll plugin not triggered
5.3.0
- Limit group code recommendations by @ah-net in #40
- Rename recommendations by @ah-net in #32
- add category to featured request by @ah-net in #42
- Feature shoppingcart crosssell featured by @ah-net in #35
- php8.2 by @ah-net in #43
- Added php 8.2 support, and droppend php 7.4 support
5.3.1
- Bug fix for slash in category url #45
5.3.2
- Fixed bug with undifined function
5.3.3
- Updated composer.json, removed wrong conflict value
5.4.0
- Fixed php 8.2 bug #53
- Fixed bug when search was enabled #46
- Speed improvement. Removed multiple spaces fram html response #50
- Remove container css class from searchbanners #49
- Improved XSS protection #47
5.4.1
- Fixed bug in observer #57
- Fixed items typo #59
- Hide categorie in url #55
- Bugfix category rewrite #56
- Improve query param url generation #37
- Add tn profile key to suggestions #58
5.4.2
- Fixed php 8.2 bug #61
- Use salt from db instead of session for xss hash
5.4.3
- Removed undefined index #64
- Revert changes from pull request #56. That pull request causes issues with the category url. The original issue from #56 will be fixed later
v5.4.4
- Fix category url if url is rewrite #67
5.4.5
- Bugfix search query parameters #69
- Delete p=1 indicator for first page #68
- Fix pagination/sorting url #72
5.5.0
- Add fallback for category recommendations #71
5.5.1
- Bump version number #73
5.5.2
- Return last added item back in around plugin #75
5.6.0
- Fix bug with multiple filters selected #84
- Rewrite fallbck #70
5.6.1
- Bump version nr
5.6.2
- Bugfix query parameters with multiple filters selected #87
- Bugfix check hash value on page load #86
5.6.3
- Revert fix fallback #70
5.6.4
- Bump version nr
5.6.5
- Fix store code in url #90
- Bugfix guzzle library #93
5.7.0
- Merge query parameters back after tweakwise personal merchandise refresh #83
- Bugfix fallback prduct collection #91
- Fix empty search result #96
- Feature facets requests #97
- Feature server timing #102
5.7.1
- Fix undefined array key #106
5.7.2
- Fix wrong variable check causing active filters to not be shown #110
5.7.3
- Remove category filter for facets requests #111
- Fix bug in tncid in recommendations #109
5.7.4
- Fix bug resulting in active filters not being shown
- Added ci pipeline to run unit tests
- Added support for multiple stores for ALP facets requests
- Rename personal merchandising
- Fix bug when searchbanners response is empty
- Fix bug in last item added to shoppingcart, should be removed after reading
- Disable searchbanners when search is disabled
- Items misspelled causing a lookup to Tweakwise not to be used
5.7.5
- Resolved an XSS security vulnerability linked to product sorting.
- Fixed an issue causing JavaScript errors with the hyva theme and ajax navigation.
- Enhanced SEO by removing 'p1' from URLs; this issue specifically affected the query parameter strategy for URLs.
- Rectified a bug causing an undefined index in active filters while using the ALP module.
- Addressed a problem where 404 errors were logged in Magento when_ a product, no longer available in Tweakwise (e.g., out of stock), still had recommendations called. This change prevents such 404 errors from being logged.
- Fixed an issue causing double filter values in URLs. This occurred when activating a filter while personal merchandising was active, resulting in incorrect filter URLs with doubled values.
- Improved handling of double values in URL filters. Now, only consecutive double values, such as '/category/category, are removed. This also removes unwanted double slashes in the url.
- Cleaned up unused imports
- Prevented category ID from being added to the URL during certain category searches, ensuring URL consistency
5.8.0
The category view in Magento differs from the way it is presented in Tweakwise Demoshop, which we considered to be the desired behavior. The difference is related to the way how (sub)category levels are shown.
We've added a setting in which you can define whether to use the old/existing way of presenting, or whether you want to use the desired way of presenting. The setting 'category view' which you can find under "Stores->Catalog->Tweakwise->Layered Navigation->Category View" is set default to 'simple'. This represents the old way of presenting and nothing will change if you do not touch this setting. If the setting is changed to 'extended', the category view is changed to the same view as the Tweakise demoshop
5.8.1
- Resolved an issue where the category filter was not considering the current applied filter, specifically when the query parameter strategy was enabled.
- Fixed a bug where sending the root category in Tweakwise requests resulted in 500 errors.
- Addressed an issue where a page reload caused the URL to be incorrect, preventing filters from deactivating.
- Implemented a check to verify if an item is a Tweakwise filter, preventing 500 errors when the Tweakwise API doesn't respond.
5.8.2
- Resolved an issue where the incorrect parent category was utilized while navigating a category tree that is three levels deep.
- Resolved an issue where the filter parameter remained in the URL after deactivating the filter.
- Resolved an issue where, with the URL pathslug strategy enabled, selecting a filter on a category page would lead to an incorrect URL upon refreshing the page and selecting another filter.
- Bugfix implemented to address the duplication of category names in the default Magento renderer.
- Implemented query length limitation for search to prevent a 500 error.
- Implemented a preventive measure to avoid errors when no attribute values are present for ALP facet requests.
- Resolved the issue with personal merchandising and pagination not functioning correctly when utilising the filter form.
- Implemented measures to prevent a 500 error in the search when Tweakwise is inaccessible or down.
5.8.3
- Implemented prevention of duplicate attribute slug values. Previously, attribute values with variations in their representations, such as Black and Black", resulted in duplicate entries in the tweakwise_attribute_slug table. This duplication could disrupt filter functionality if the incorrect value was retrieved. This pull request addresses the issue by appending a unique identifier ("-") followed by a number to each slug, ensuring their uniqueness. Note that attributes with previously duplicated slug values will require re-saving to activate this fix.
- Resolved a notice issue pertaining to missing variables when the shopping cart is empty. Previously, certain sections of the application would trigger notices due to uninitialized variables when the cart was empty.
| Version | Stability | QA Status | Confirmed compatibility | Released |
|---|---|---|---|---|
| 9.0.1 | stable | Fail | Not yet tested Details | 2026-05-22 10:08:10 |
| 9.0.0 | stable | Not tested | Not yet tested Details | 2026-04-24 10:36:21 |
| 8.11.0 | stable | Not tested | Not yet tested Details | 2026-03-24 09:35:23 |
| 8.10.0 | stable | Not tested | Not yet tested Details | 2026-03-06 15:45:55 |
| 8.9.1 | stable | Not tested | Not yet tested Details | 2026-01-29 15:40:51 |
| 8.9.0 | stable | Not tested | Not yet tested Details | 2026-01-28 10:08:38 |
| 8.8.0 | stable | Not tested | Not yet tested Details | 2025-12-09 13:45:32 |
| 8.7.1 | stable | Not tested | Not yet tested Details | 2025-10-17 13:27:06 |
| 8.7.0 | stable | Not tested | Not yet tested Details | 2025-09-30 12:50:46 |
| 8.6.1 | stable | Not tested | Not yet tested Details | 2025-08-21 07:14:11 |
| 8.6.0 | stable | Not tested | Not yet tested Details | 2025-08-15 12:38:28 |
| v8.5.0 | stable | Not tested | Not yet tested Details | 2025-06-27 08:56:08 |
| v8.4.5 | stable | Not tested | Not yet tested Details | 2025-05-20 14:26:23 |
| v8.4.4 | stable | Not tested | Not yet tested Details | 2025-05-07 11:22:03 |
| v8.5.0-beta.1 | beta | Not tested | Not yet tested Details | 2025-04-09 10:46:52 |
| v8.4.3 | stable | Not tested | Not yet tested Details | 2025-04-02 11:52:06 |
| v8.4.2 | stable | Not tested | Not yet tested Details | 2025-02-26 09:33:43 |
| v8.4.1 | stable | Not tested | Not yet tested Details | 2025-01-16 14:41:40 |
| v8.4.0 | stable | Not tested | Not yet tested Details | 2025-01-16 10:28:26 |
| v8.3.3 | stable | Not tested | Not yet tested Details | 2024-12-20 09:33:29 |
| v8.3.2 | stable | Not tested | Not yet tested Details | 2024-12-17 15:55:29 |
| v8.3.1 | stable | Not tested | Not yet tested Details | 2024-12-17 13:49:16 |
| v8.3.0 | stable | Not tested | Not yet tested Details | 2024-12-17 13:01:38 |
| v8.2.0 | stable | Not tested | Not yet tested Details | 2024-10-16 11:17:49 |
| v8.1.0 | stable | Not tested | Not yet tested Details | 2024-09-24 11:03:24 |
| v8.0.0 | stable | Not tested | Not yet tested Details | 2024-07-31 11:22:25 |
| v7.0.2 | stable | Not tested | Not yet tested Details | 2024-07-26 11:44:25 |
| v7.0.1 | stable | Not tested | Not yet tested Details | 2024-06-11 08:11:22 |
| v7.0.0 | stable | Not tested | Not yet tested Details | 2024-06-11 07:48:13 |
| v6.0.1 | stable | Not tested | Not yet tested Details | 2024-05-01 07:53:22 |
| v6.0.0 | stable | Not tested | Not yet tested Details | 2024-04-12 13:58:38 |
| v6.0.0-beta.2 | beta | Not tested | Not yet tested Details | 2024-04-09 07:24:00 |
| v6.0.0-beta.1 | beta | Not tested | Not yet tested Details | 2024-03-29 11:42:36 |
| v5.8.3 | stable | Not tested | Not yet tested Details | 2024-03-12 09:18:07 |
| v5.8.2 | stable | Not tested | Not yet tested Details | 2024-02-21 15:36:04 |
| v5.8.1 | stable | Not tested | Not yet tested Details | 2024-01-23 09:42:09 |
| v5.8.0 | stable | Not tested | Not yet tested Details | 2024-01-16 15:20:15 |
| v5.7.5 | stable | Not tested | Not yet tested Details | 2024-01-11 13:33:06 |
| v5.7.4 | stable | Not tested | Not yet tested Details | 2023-12-12 11:16:51 |
| v5.7.3 | stable | Not tested | Not yet tested Details | 2023-10-12 12:03:10 |
| v5.7.2 | stable | Not tested | Not yet tested Details | 2023-10-12 08:38:40 |
| v5.7.1 | stable | Not tested | Not yet tested Details | 2023-10-04 09:28:04 |
| v5.7.0 | stable | Not tested | Not yet tested Details | 2023-09-27 11:27:32 |
| v5.6.5 | stable | Not tested | Not yet tested Details | 2023-09-06 07:47:50 |
| v5.6.4 | stable | Not tested | Not yet tested Details | 2023-08-31 07:35:45 |
| v5.6.3 | stable | Not tested | Not yet tested Details | 2023-08-25 07:12:17 |
| v5.6.2 | stable | Not tested | Not yet tested Details | 2023-08-23 14:41:55 |
| v5.6.1 | stable | Not tested | Not yet tested Details | 2023-08-23 08:29:26 |
| v5.6.0 | stable | Not tested | Not yet tested Details | 2023-08-23 07:43:38 |
| v5.5.2 | stable | Not tested | Not yet tested Details | 2023-07-18 07:35:27 |
| v5.5.1 | stable | Not tested | Not yet tested Details | 2023-07-05 07:30:15 |
| v5.5.0 | stable | Not tested | Not yet tested Details | 2023-07-05 07:21:25 |
| v5.4.5 | stable | Not tested | Not yet tested Details | 2023-06-30 07:15:34 |
| v5.4.4 | stable | Not tested | Not yet tested Details | 2023-06-20 08:31:51 |
| v5.4.3 | stable | Not tested | Not yet tested Details | 2023-05-25 11:26:52 |
| v5.4.2 | stable | Not tested | Not yet tested Details | 2023-05-24 11:37:20 |
| v5.4.1 | stable | Not tested | Not yet tested Details | 2023-05-23 12:39:30 |
| v5.4.0 | stable | Not tested | Not yet tested Details | 2023-05-02 09:57:16 |
| v5.3.3 | stable | Not tested | Not yet tested Details | 2023-03-22 10:47:40 |
| v5.3.2 | stable | Not tested | Not yet tested Details | 2023-03-22 10:43:37 |
| v5.3.1 | stable | Not tested | Not yet tested Details | 2023-03-17 13:23:52 |
| v5.3.0 | stable | Not tested | Not yet tested Details | 2023-03-15 10:15:28 |
| v5.2.2 | stable | Not tested | Not yet tested Details | 2023-03-07 09:57:38 |
| v5.2.1 | stable | Not tested | Not yet tested Details | 2023-01-25 14:07:08 |
| v5.2.0 | stable | Not tested | Not yet tested Details | 2022-12-20 09:44:14 |
| v5.1.2 | stable | Not tested | Not yet tested Details | 2022-12-13 09:51:42 |
| v5.1.1 | stable | Not tested | Not yet tested Details | 2022-11-22 12:59:51 |
| v5.1.0 | stable | Not tested | Not yet tested Details | 2022-11-15 11:58:57 |
| v5.0.9 | stable | Not tested | Not yet tested Details | 2022-11-01 13:50:33 |
| v5.0.8 | stable | Not tested | Not yet tested Details | 2022-11-01 13:24:06 |
| v5.0.7 | stable | Not tested | Not yet tested Details | 2022-11-01 08:11:33 |
| v5.0.6 | stable | Not tested | Not yet tested Details | 2022-09-21 07:58:27 |
| v5.0.4 | stable | Not tested | Not yet tested Details | 2022-09-13 10:37:33 |
| v5.0.3 | stable | Not tested | Not yet tested Details | 2022-09-06 14:47:40 |
| v5.0.2 | stable | Not tested | Not yet tested Details | 2022-08-31 08:29:21 |
| v5.0.1 | stable | Not tested | Not yet tested Details | 2022-08-25 11:37:21 |
| v5.0.0 | stable | Not tested | Not yet tested Details | 2022-08-23 08:39:28 |
| v5.0.0-alpha | alpha | Not tested | Not yet tested Details | 2022-08-23 08:01:19 |
Requires 8
| Package | Constraint |
|---|---|
| php | ^8.1 |
| ext-json | * |
| ext-pcre | * |
| ext-simplexml | * |
| ext-libxml | * |
| tweakwise/magento2-tweakwise-export | >=7.8.3 |
| guzzlehttp/guzzle | >=6.0 |
| guzzlehttp/promises | >=1.4 |
Requires-dev 2
| Package | Constraint |
|---|---|
| emico/code-quality | ~10.6.0 |
| magento/framework | ^103.0 |
Replaces 1
| Package | Constraint |
|---|---|
| emico/tweakwise | v4.3.1 |
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.
No compatibility results yet. The QA matrix hasn't run for this version.
Code Quality - Static Tests
Checks run directly against the module's source code, independent of any Magento or PHP version: coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity, and a security audit of its declared dependencies. Each runs once.
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.