Entity Selector: Universal Entity Selection Widget
Universal PrestaShop entity selector for products, categories, manufacturers and more, with include/exclude rules, live preview and combination targeting.
One widget. Every entity. Total control.
Most PrestaShop modules give you a text box to search for products. Type a name, pick from a dropdown, done. That works when you need to select three specific products.
It doesn't work when you need "all products in the Spring collection, except discontinued items, limited to the 20 best sellers, sorted by price." That's what the Entity Selector does.
What it looks like
The Entity Selector is a complete admin widget that integrates into any module's configuration page. It provides a tabbed interface for selecting entities, with a powerful search dropdown, chip badges for selected items, and live preview of matching results.

18 entity types
The Entity Selector isn't limited to products. It supports every major PrestaShop entity out of the box:
- Commerce: Products, Categories, Manufacturers, Suppliers
- Content: CMS Pages, CMS Categories
- Users: Customers, Customer Groups, Employees, Profiles
- Shipping: Carriers, Zones, Countries
- System: Currencies, Languages, Shops, Order States, Taxes
Every entity type gets full search support with relevant metadata, product thumbnails with price and stock, categories with product counts, customers with email and company name.
130+ selection methods
Selecting specific items by name is just the beginning. The Entity Selector provides over 130 methods for building sophisticated selections:
- By relationship: select products by category, manufacturer, supplier, tag, attribute group, or feature
- By property: filter by condition (new/used/refurbished), visibility, stock status, on sale flag, has combinations, active status
- By pattern: name pattern, reference pattern, description pattern with wildcard support and case sensitivity toggle
- By range: price range, weight range, quantity range, ID range, position range, date added range
- By attribute: specific attribute values (Color: Red), feature values (Material: Cotton), or attribute groups
- Ordering shortcuts: sort a group by newest, price, name, position, quantity or reference
Include/exclude logic
Real-world product selection is rarely "just pick these." The Entity Selector combines groups with OR, and each group can exclude specific items:
"All products in category Electronics, except these particular items."
Each selection group has an include condition and any number of exclude conditions. Multiple groups combine with OR logic, so you can build complex targeting that would be impossible with a simple product picker.
Groups with modifiers
Selection groups aren't just filters. Each group can have its own modifiers:
- Limit: restrict the group to N items
- Sort by: newest, price (asc/desc), name, position, quantity, reference or ID
- Per-group limits: each group carries its own limit and sort, applied as the group resolves
So one widget instance can hold "the 10 newest products in Category A" alongside "these 5 specific products from Category B", each group limited and sorted on its own terms.
Product combination support
Unlike basic product pickers that only work at the product level, the Entity Selector supports combination-level granularity. You can target specific product attributes, "T-Shirt in Size L, Color Red" rather than just "T-Shirt."
Combinations are displayed with their full attribute descriptions, combination-specific reference codes, individual stock levels, and combination-specific images when available.
Live preview
As you build your selection, the Entity Selector shows live count badges and a paginated preview of matching items. You see exactly which products (or categories, or customers) match your conditions, before saving.
The preview includes all relevant metadata: product thumbnails, prices, stock levels, category names, manufacturer names. You can paginate through results and refine your search within the preview.
Four layout modes
The widget adapts to different admin interface contexts:
- Standalone: full widget with header, collapse/expand toggle, and tabbed entity blocks
- Form group: integrates into Bootstrap form layouts with label on the left, widget on the right
- Form content: compact inline layout, collapsed by default, expands on click
Used by 25+ modules
The Entity Selector is a shared component, so the modules that use it all present the same widget. That means:
- Performance optimizations benefit every module
- A fix is made once and distributed to the modules through a package update
- The UX is consistent: learn it once, use it everywhere
- One widget to learn, whichever of our modules you are configuring
Modules like Sales Revolution, Loyalty Revolution, Product Badges, Friendly URLs, SEO Revolution, Google Merchant, Search Revolution, and many more all share this exact component.
Technical details
- Architecture: PHP trait with 5 lazy-loaded helper classes, 13 JavaScript modules, 17 SCSS component files
- Total codebase: 40,711 lines of runtime PHP, JavaScript and SCSS
- Data format: JSON stored in a hidden form input, fully serializable
- AJAX-driven: all search, preview, and count operations happen asynchronously
- Multi-instance: multiple independent widgets on the same admin page
- Translation-ready: all labels delegate to the host module's translation system
- PS compatibility: runs on the same PrestaShop versions as the module that embeds it
← Back to Our Technology Stack