Bestsellers changelog
All notable changes to slova/module-bestsellers. Versions follow Semantic Versioning.
1.1.0 — 2026-10-25
Section titled “1.1.0 — 2026-10-25”- “Sort by: Bestsellers” on category and search pages, in the same order as the bestseller lists, products that did not sell last; works with Magento’s search engine (OpenSearch) and ElasticSuite. Can be the default sort order (Magento’s catalog setting or per category).
- Catalog Sorting settings: turn the option on or off; option name per store view.
- Hidden product attribute
slova_bestseller_rank(place per store view), kept up to date by every recalculation — only changed places are written and reindexed. - Search results sorted by bestsellers start with the best seller (search otherwise defaults to descending).
- Pages sorted by bestsellers are refreshed in the full page cache when the order changes.
Upgrade notes
Section titled “Upgrade notes”Run bin/magento setup:upgrade, then bin/magento indexer:reindex catalogsearch_fulltext (or let Magento’s cron rebuild the index it marks Reindex required).
1.0.0 — 2026-10-24
Section titled “1.0.0 — 2026-10-24”First release as a standalone package (in production on caruselbooks.ro since October 2026 as a site module).
Counting
Section titled “Counting”- Sales read directly from orders into a daily table per store view and product (units, revenue, orders), not from Magento’s report tables.
- Free lines left out by what the customer paid (row total + tax − discount), whichever module made them free; cancelled units never count, refunded units subtracted (optional).
- Orders left out by state, by date (before launch / imports) and by customer e-mail.
- Bundles count as the bundle, their contents, or both; configurable products as the configurable product.
- Main period (7 – 365 days, custom or all time) per store view, filled from longer fallback periods with real sales only — never random products.
- Ranking by units or revenue, with a fixed tie-break order; store view, website or global order scope.
- Store-wide and per-category lists (anchor categories include subcategories); product types can be left out; out-of-stock products hidden at display time.
- Sort scores for every product that sold, in the same order as the lists.
Storefront (Hyvä)
Section titled “Storefront (Hyvä)”- Bestsellers widget: horizontal carousel (Hyvä snap slider) or grid of the theme’s product cards, or a compact vertical numbered list; whole store, the category being browsed, or a chosen category; products per row.
- Placement through Magento’s widget instances (pages, containers, store views) or Insert Widget in CMS content.
- “#2 in Bags” box on the product page, with limits and editable texts.
- Styles scoped and built on the theme’s CSS variables; no Tailwind build.
Recalculation
Section titled “Recalculation”- Daily, every 6 hours or hourly; Recalculate Now; on settings save;
bin/magento slova:bestsellers:recalculate [--full]. - Incremental runs from order update times; full rebuild when the counting rules change; overlapping runs prevented.
- Full page cache (and Varnish) cleaned only for store views whose lists changed.
Admin and API
Section titled “Admin and API”- Status overview with the last run, the schedule and each store view’s periods; “Add a List to the Store” shortcut to a preset widget.
- Inherited value shown under every Use system value checkbox.
BestsellerProviderInterfaceread API andslova_bestsellers_recalculatedevent.- English admin, Romanian translation.
- Clean uninstall: tables, settings, schedule, status and widget instances removed.