pollora/meilifacets
MeiliFacets adds faceted search to Laravel with Meilisearch. Define facets, apply filters, and return facet counts for intuitive, fast filtering in your applications.
Contracts\DefaultSortedListing. That is a strong argument to buy/extend this rather than build a bespoke Meilisearch + WooCommerce sorting layer, since sort semantics are a common source of parity bugs.Contracts\CardComponentListing and <x-meilifacets::listing.card> with CardBinding let each listing render through the project’s own Blade card component, on the server and in the browser-cloned template. That supports design-system consolidation decisions and reduces one-off markup per listing.row-overflow="show-more" vs. the 0.2.2 default side-sheet, plus the renamed meilifacets.drawer.row.limit key, is a config-and-defaults decision. PMs should plan a deliberate rollout: keep side-sheet as fallback while validating « Show more » on high-traffic category pages.wp meiliscout index, php artisan module:publish MeiliFacets, cache clearing, and a config key move from row_limit to row.limit. This is a planned maintenance window, not a hotfix — it affects release cadence and QA scope for any theme that copied results, drawer, or facets views.Consider it when:
php artisan, Composer, Blade components) and want Meilisearch-backed faceted product listings.Look elsewhere or defer when:
data-meili attributes may change./pa_volume/400ml/) showing the browsed term’s variant — currently a documented “leave Enable archives? unchecked” limitation.media past 48em and would need to redeclare the side sheet block, or has heavily customized copied results, drawer, or facets views that you cannot re-copy on this cadence.For executives: This release makes the product listing behave more like the storefront merchandising team expects — it inherits WooCommerce’s default product sorting, supports a « Show more » filter row on desktop, and renders results through our own card component. It is a capability release on a Beta package, so the recommendation is a scoped pilot on selected category pages, not a storefront-wide switch, until the documented issues around single-selection facets, failed-search messaging, and attribute archives are resolved.
For engineering: Plan this as a coordinated upgrade: composer update pollora/meilifacets, wp meiliscout index, php artisan module:publish MeiliFacets, then clear page cache. The breaking surface is narrow but real — move meilifacets.drawer.row_limit to meilifacets.drawer.row.limit, re-copy any theme overrides of results, drawer, or facets, replace :card with :binding="CardBinding::of($card)" on <x-meilifacets::listing.card>, drop listing.card-template, and update any .meilifacetsFacets[data-apply] selector to target the listing root. Optional: use CardBinding::standalone($card) for cards outside a listing. Treat the PHP contracts and data-meili attributes as unstable until 1.0, and keep row-overflow="side-sheet" as the fallback default while « Show more » is validated.
For product and support: Set expectations that this is a Beta with known gaps: a chosen single-selection facet hides its sibling values, a failed browser search shows no message while the URL keeps the unapplied filter, variants sharing a term count once per variant, and attribute archives do not show the browsed term’s variant. Budget QA for these specific paths and hold « Show more » and card-component rollouts behind a feature flag until they pass.
How can I help you explore Laravel packages today?