PrestaShop Catalogue Management ★ 5.0 · 1 review

DataFirefly Product Positions — Drag & drop categories for PrestaShop 8 & 9

Visual merchandising for your categories — without writing a single line of SQL.

On native PrestaShop, ranking a product first in a category means opening the product page, scrolling to the Associations tab, typing a position number, saving, and starting over. For 50 products, that's half a day. And the next morning, an ERP import wipes it all out. DataFirefly Product Positions replaces this with a dedicated interface: category tree on the left, product grid on the right, drag & drop to reorder, multi-criteria auto-sort in a fraction of a second, and pinning of your strategic positions so they survive your synchronizations. Multi-store, multilingual, compatible with PrestaShop 8 and 9.

At a glance
  • Reorder your categories by drag & drop, AJAX save with no page reload
  • Auto-sort by price, sales, stock, name, reference or date, with propagation to subcategories
  • Position pinning: your hero products survive ERP imports and auto-sorts
  • Native multi-store and multilingual support, 100% back-office
  • Compatible with PrestaShop 8.0 to 9.x and PHP 8.0 to 8.4
PrestaShop 8 & 9 PHP 8.0+ Drag & drop Auto-sort ERP-proof pinning Multi-store Multilingual
  • 30-day refund
  • 12 months updates
  • 24h support
www.datafirefly.com/en/
Reordering products by drag and drop within PrestaShop categories
v1.2.0 · updated 2026-07-25
What it does

The short version.

01

Instant drag & drop

Drag products to reorder them in any category. AJAX save in the background, no page reload, immediate visual feedback on the new position.

02

Pinning: positions that survive imports

Pin a product to its position, or lock an entire category in one click. Pinned positions are restored automatically as soon as an ERP import, a supplier feed or a product update tries to move them. Auto-sort respects pins too: only the free products are reorganized around them.

03

Multi-criteria auto-sort

Apply a sort by name, price, stock quantity, sales, reference, date added, reverse order or random in one click. Ascending or descending. Optional propagation to subcategories to process an entire branch in a single action.

04

Dedicated interface under Catalog

Product Positions tab added under the Catalog menu of the back office. Category tree on the left with search, one-click expand and collapse, product and pin counters, and product grid on the right with instant filter.

05

Native multi-store and multilingual support

Shop selector at the top of the interface: each sub-shop has its own positions and its own pins. Language selector for product label display. Your FR and EN storefronts can highlight different products.

The long version

Everything you'd want to know before you install.

A detailed look at how DataFirefly Product Positions — Drag & drop categories for PrestaShop 8 & 9 works, why we built it the way we did, and the thinking behind the features above.

§ 01

Merchandising drives 30% of category conversion

When a visitor opens a category in your store, the first 4 to 6 products generate the bulk of the revenue. What you show first is what you sell. Yet on native PrestaShop, controlling product order in a category is tedious: you have to edit each product page, change its position, and start over. For a store with 200 products in a main category, that's hours of manual work for every seasonal reorganization. DataFirefly Product Positions removes this friction and turns merchandising into a visual gesture — like rearranging cards on a desk.

§ 02

Drag & drop: move a product in one second

The interface displays the products of the selected category as a grid (thumbnail, name, reference, price, stock). Click and hold a product, drag to its new position, done. The save happens in the background via AJAX — no Save button to click, no page reload. The reordering is reflected in the front office immediately, for the next visitor. For long moves, three shortcuts save you from scrolling: send to top, send to bottom, or type the target position number directly.

§ 03

Pinning: merchandising that survives your ERP

This is the problem every synchronized store runs into: you spend an hour composing a perfect category header, and the next morning the nightly ERP import has put everything back in supplier-file order. Pinning solves that. Click the pin icon on a product to freeze its position, or lock the whole category in one action. The module stores those positions in its own table and restores them automatically as soon as an external product update tries to change them. Auto-sorts follow the same rule: pinned products keep their slot, and the others reorganize around them. You can therefore freeze your six hero products and let the rest of the category sort itself by descending sales.

§ 04

Auto-sort: 8 criteria, ascending or descending

For high-volume categories, drag & drop remains tedious. So the module ships an auto-sort system: pick a criterion (name, price, stock, sales over the last 90 days, reference, date added) and an order (ascending or descending), click Apply, and the entire category is reorganized. Two bonus options: reverse sort (handy to put recent products first without having to know the dates) and random sort (to refresh the look of a category without changing the catalog). An Apply to subcategories checkbox lets you propagate the sort to an entire branch in a single operation.

§ 05

Architecture, PrestaShop 9 compatibility and multi-store

Positions are written to the standard category_product table: these are the native PrestaShop positions, and they display on the front office without any theme modification. The module adds a single technical table, dedicated to storing pins, dropped cleanly on uninstall. Since version 1.2.0 the module is PrestaShop 9 compatible: price formatting through the Locale service, image URL generation adapted to the new formats, AJAX calls aligned with the routing of the 9.x branch. The same package runs on PrestaShop 8.0 to 9.x. The shop selector at the top of the screen lets you, in multi-store mode, configure different positions and different pins for each sub-shop.

§ 06

Performance and security

All AJAX requests are protected by the native PrestaShop admin token — no public endpoint, no access without valid admin authentication. SQL queries join on product_shop to load only the products actually present in the active shop: no data leak between shops. Restoration of pinned positions is guarded against re-entrancy, which prevents any loop during bulk updates. Sorting is a one-off operation: no extra computation is performed when front-office pages are loaded.

§ 07

Typical use cases

Store synchronized with an ERP: full lock of your strategic categories so imports no longer touch the display order. Seasonal highlight (Christmas, sales, back-to-school): sort by ascending stock to clear end-of-line products at the top of the category. Collection launch: manually pin new arrivals in positions 1 to 6, then auto-sort the rest by descending sales. Visual refresh without changing the catalog: monthly random sort, pins preserved, to vary the appearance of a category for returning visitors.