Conversation
tleon
commented
Jul 6, 2026
| Questions | Answers |
|---|---|
| Description? | Merge into master for release |
| Type? | improvement |
| BC breaks? | no |
| Deprecations? | no |
| Fixed ticket? | ~ |
| How to test? | ~ |
| Sponsor company | PrestaShop SA |
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.17.23) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.17.23 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Switched to external ci actions
Change "data" column from TEXT to LONGTEXT in layered_filter_block table
Bumps [webpack](https://github.com/webpack/webpack) from 5.97.1 to 5.105.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md) - [Commits](webpack/webpack@v5.97.1...v5.105.0) --- updated-dependencies: - dependency-name: webpack dependency-version: 5.105.0 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com>
…ack-5.105.0 Bump webpack from 5.97.1 to 5.105.0
…sh-4.17.23 Bump lodash from 4.17.21 to 4.17.23
GitHub add issue to project workflow
…nditions for availability Refactor out_of_stock filter conditions for availability
- Replace deprecated 1.7.7.x/1.7.8.x PS branches with 8.1.7/8.2.x in CI matrix - Add develop branch to phpstan job alongside 9.1.x - Align workflow with reference pattern (checkout@v6, prepend-constants for all jobs) - Add phpstan-8.1.7.neon, phpstan-8.2.x.neon, phpstan-develop.neon - Add addJS/addCSS/displayDate ignoreErrors to phpstan-9.0.x.neon and phpstan-9.1.x.neon - Fix Currency::getCurrencies() int->bool type mismatch (1 -> true) - Fix Product::priceCalculation() null params: use 0/'' typed defaults instead of null
Add missing ignoreErrors for CurrencyCore::getCurrencies() Shop/bool mismatch and Strict comparison null/mixed to all phpstan neon files.
Fix PHPStan failures and update CI PHPStan matrix
Change ugly "Sales, highest to lowest" to "Best sales"
- Drop PHP 7.1 from linter matrix (no longer supported) - Add PHP 8.5 to linter matrix - Remove PrestaShop 8.1.7 from PHPStan matrix (only 8.2.x kept) - Bump actions/checkout to v6 in PHPUnit job - Remove obsolete PHPStan configs for PS 1.7.7.x, 1.7.8.x, 8.1.7 Reference: PrestaShop/PrestaShop#41648
Convert selected price and weight filters to floats
Align CI/CD with PrestaShop issue #41648
- Currency::getCurrencies(): drop the bogus Shop argument passed as the bool $groupBy parameter (getCurrencies already scopes on the current shop). - Tools::displayDate(): drop the dead pre-8.0 branch using the legacy 3-argument signature (module requires PS >= 8.1). - Type Context::$controller as a concrete FrontController/AdminController (PS 9.x types it as the PHPStan-opaque LegacyControllerContext). Removes all ignoreErrors from the PHPStan neon configs.
$params is filled by parse_str() (never null) and the previous loop already strips null values, so the 'null === $param' check is dead code.
- Empty tests/php/phpstan/phpstan-develop.neon: its suppressions are now unmatched (the underlying errors are fixed), which fails the develop jobs with reportUnmatchedIgnoredErrors. - Drop unused foreach value/index variables flagged by static analysis (iterate keys with array_keys() where only the key is used).
…babel-loader-10.1.1 Bump babel-loader from 10.0.0 to 10.1.1
…i-842669885e Bump js-yaml and mocha
Align module on PrestaShop 8.2+: add 9.0.3 PHPStan job, fix errors and bump to 5.0.0
renderFacets() never assigned `language` to Smarty when rendering the faceted-search block, so themes that override facets.tpl and reference it - the Hummingbird price/weight slider reads {$language.is_rtl} to set `data-slider-direction` - received no `language` at all.
Assign the language alongside the other facet variables, as an ARRAY mirroring the global `language` the front controller assigns via ObjectPresenter. The template accesses it with Smarty array syntax ({$language.is_rtl}), so the value must be an array: passing the raw Language object would raise a fatal "Cannot use object of type Language as array" on PHP 8. The default (classic) theme is unaffected as it does not read `language` in this template.
Fixes #41846.
Bumps [webpack](https://github.com/webpack/webpack) from 5.107.2 to 5.108.4. - [Release notes](https://github.com/webpack/webpack/releases) - [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md) - [Commits](webpack/webpack@v5.107.2...v5.108.4) --- updated-dependencies: - dependency-name: webpack dependency-version: 5.108.4 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…template Assign language to the facets template so theme overrides can read it
…webpack-5.108.4 Bump webpack from 5.107.2 to 5.108.4
| * | ||
| * @return \AdminController | ||
| */ | ||
| protected function getAdminController() |
There was a problem hiding this comment.
We should not add code because of tests. If the test doesn't understand, it's the test that must be fixed or told to ignore the line.
Hlavtox
left a comment
There was a problem hiding this comment.
One comment regarding the new code
SiraDIOP
left a comment
There was a problem hiding this comment.
Hello @tleon,
Thanks for your PR , i tested it and :
Testing the data column migration (TEXT → LONGTEXT) on ps_layered_filter_block
Environment: PrestaShop [version], PHP [version], Docker/OrbStack local setup
Steps:
Checked out PR branch and upgraded the module
Verified the data column type on ps_layered_filter_block → confirmed longtext
Generated facet filter data by browsing category pages with active filters
Confirmed 14 rows present in the table with valid serialized filter data (e.g. availability filter type)
Reloaded the front-office category page with active filters
Result: Column migrated correctly to longtext, existing filter data stored and read back correctly, front-office filters display and function normally (filter selection, product count update) with no errors.
Enregistrement.de.l.ecran.2026-07-06.a.19.35.52.mov
language not assigned in renderFacets() for theme overrides
Environment: PrestaShop 9.2.0, Hummingbird theme v2.0.0, PHP [version], Docker/OrbStack local setup
Steps:
Checked out PR branch and upgraded the module
Activated Hummingbird theme (the only bundled theme that overrides facets.tpl and reads {$language.is_rtl})
Navigated to a category page with an active price filter (slider)
Verified in browser console via document.querySelectorAll('[data-slider-direction]')
Result: Category page loads with no fatal error. Price slider renders and filters products correctly. The slider element carries noUi-ltr / noUi-txt-dir-ltr classes, confirming data-slider-direction is correctly populated from {$language.is_rtl}, which was previously undefined before this fix.
Testing out_of_stock filter conditions for availability (post-revert of #1224/#1231)
Environment: PrestaShop 9.2.0, PHP [version], Docker/OrbStack local setup
Steps:
Set up test products with different stock configurations: in-stock product, out-of-stock product with backorders allowed, out-of-stock product with backorders disallowed
Applied "In stock" availability filter
Applied "Available" availability filter
Applied "Not available" availability filter
Result:
"In stock" (3 items) returns only products with actual physical stock
"Available" (4 items) additionally includes the out-of-stock product with backorders allowed (orderable despite 0 stock)
"Not available" (1 item) returns only the out-of-stock product with backorders disallowed, correctly showing an "Out-of-Stock" badge and no add-to-cart option
The three facets behave consistently and as expected; no discrepancy found post-revert.
Testing float cast for selected price/weight filter values
Steps:
Applied a price filter with decimal boundaries via the slider (e.g. €18.79 - €27.84)
Copied the generated URL (?q=Price-€18.86-27.76) and reloaded it directly in a new page load
Result: Price filter is correctly reapplied from the URL, slider positioned at the exact decimal values, and product list filtered accurately (1 product matching the €18.86–€27.76 range).
Enregistrement.de.l.ecran.2026-07-07.a.08.24.50.mov
Testing "Sales, highest to lowest" → "Best sales" label rename
Steps:
Opened the "Sort by" dropdown on a category page
Result: Label correctly displays "Best sales" instead of the previous "Sales, highest to lowest".
Testing Tools::displayDate() legacy branch removal
Steps:
Navigated to Modules > Faceted search > Configure
Checked the "Filters templates" table, "Created on" column
Result: Date displays correctly (07/06/2026 19:27:17), properly formatted, no error. Confirms the removed legacy pre-8.0 branch has no impact since the module now requires PrestaShop 8.2+.
|
PR merged, well done! Message to @PrestaShop/committers: do not forget to milestone it before the merge. |