PHPackages                             etechflow/module-product-fitment-finder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. etechflow/module-product-fitment-finder

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

etechflow/module-product-fitment-finder
=======================================

Universal Product Fitment Finder for Magento 2 — Make/Model/Year/Part filtering on any fitment domain (automotive, motorcycle, marine, RV, phone cases, watches, appliance parts, anywhere a customer asks "will this fit my X?"). Admin-configurable labels + URL prefix so the same module rebrands to any merchant domain. Includes PDP fitment badge, SEO URLs, customer garage with cross-device sync, OEM/part-number search, and admin tooltips throughout. Theme-agnostic — Hyvä, Luma, custom themes. Renamed from "module-vehicle-compat" in v2.0.0.

2.0.0(1mo ago)001proprietaryPHPPHP ~8.1.0||~8.2.0||~8.3.0||~8.4.0

Since Jun 5Pushed 2w agoCompare

[ Source](https://github.com/etechflow/module-product-fitment-finder)[ Packagist](https://packagist.org/packages/etechflow/module-product-fitment-finder)[ RSS](/packages/etechflow-module-product-fitment-finder/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (5)Versions (2)Used By (0)

ETechFlow\_ProductFitmentFinder — Vehicle Compatibility + Part Finder for Magento 2
===================================================================================

[](#etechflow_productfitmentfinder--vehicle-compatibility--part-finder-for-magento-2)

A complete vehicle compatibility (Make / Model / Year / Part) system for Magento 2 stores selling automotive products. **Theme-agnostic by design** — bundles its own Alpine.js loader so it works on Hyvä, Luma, and any custom theme without code changes.

- **Version:** 1.0.0
- **Package:** `etechflow/module-product-fitment-finder`
- **Magento:** 2.4.4 – 2.4.8
- **PHP:** 8.1, 8.2, 8.3
- **License:** proprietary (see `LICENSE.txt`)
- **Vendor:** ETechFlow —

---

What's in the box
-----------------

[](#whats-in-the-box)

Two halves of one feature, intentionally bundled in one module:

### Half 1 — Vehicle compatibility data

[](#half-1--vehicle-compatibility-data)

- **`vehicle_compat_data`** product attribute (JSON) storing every (Make, Model, Year) combination a product fits.
- **`parts_required`** product attribute (multi-select) tagging which part-types each product covers (key blade, transponder, immobilizer chip, etc.).
- **Admin CRUD** for Makes and Models under **Catalog → Vehicles → Makes / Models**.
- **CSV import** for bulk-loading vehicle compatibility data (`bin/magento etechflow:vehiclecompat:import-parts`).
- **Product edit form modifier** — a visual Make/Model/Year picker tab on every product, so the admin doesn't hand-edit JSON.

### Half 2 — Part Finder widget

[](#half-2--part-finder-widget)

- **`/vehiclecompat/options/index`** — server-side filtered options endpoint. Each dropdown click sends `field=make|model|year|part` + current selections, server applies bidirectional filter and returns only matching options.
- **`/vehiclecompat/tree/index`** — full vehicle tree (cached, browser-cacheable for 1h).
- **`/vehiclecompat/find/index`** — find-parts results page that filters the catalog by the customer's vehicle.
- **Shareable form fragment** (`ETechFlow_ProductFitmentFinder::partfinder/form.phtml`) that drops into any layout — header modal, hero section, PDP sidebar, all use the same template.
- **Self-contained Alpine.js bootstrap** — on Hyvä stores Alpine is already loaded; on Luma / custom themes the bootstrap lazy-loads Alpine from a CDN (URL is overridable for stores that want to self-host).
- **Shared Alpine store** so multiple form instances on the same page (desktop hero + mobile hero + header modal) stay in sync.

---

Theme compatibility
-------------------

[](#theme-compatibility)

ThemeStatusWhat happens**Hyvä** (Tailwind + Alpine)✅ NativeAlpine is global. The bootstrap shim becomes a no-op. Module just works.**Luma / Blank**✅ With bootstrapThe bootstrap shim detects no Alpine and lazy-loads it from a CDN. Module works.**Custom themes** (Luma parent)✅ With bootstrapSame as Luma.**Custom themes** (Hyvä parent)✅ NativeSame as Hyvä.**Air-gapped / no-CDN stores**⚠️ Self-host AlpineReplace the CDN URL in `view/frontend/web/js/alpine-bootstrap.js` with your self-hosted Alpine URL, or pre-install Alpine in your theme.**Headless / PWA Studio**⚠️ Use API onlyUse `/vehiclecompat/options/index` directly from your headless storefront. The PHP-rendered form fragment is skipped in headless.See `COMPATIBILITY.md` for the full audit.

---

Quick start
-----------

[](#quick-start)

```
# 1. Extract into your Magento root
unzip etechflow-module-vehicle-compat-1.0.0.zip -d /

# 2. Enable + migrate (creates DB tables + product attributes)
cd
bin/magento module:enable ETechFlow_ProductFitmentFinder
bin/magento setup:upgrade
bin/magento setup:di:compile      # production-mode only
bin/magento setup:static-content:deploy -f
bin/magento cache:flush

# 3. Visit the admin
open https://your-store.example.com/admin/etechflow_vehicle/make/index
# (Admin sidebar → Catalog → Vehicles → Makes / Models)

# 4. Embed the Part Finder on your homepage / header
#    Reference: USAGE.md → "Embedding the Part Finder form"
```

---

Documentation index
-------------------

[](#documentation-index)

FilePurpose`README.md`Overview, features, theme matrix (this file)`INSTALL.md`Manual + Composer install + verification + troubleshooting`USAGE.md`Admin walk-through (Make/Model CRUD, product editor, CSV import) + how to embed the Part Finder widget`CONFIGURATION.md`Alpine bootstrap CDN URL, server-side filter behavior, caching`COMPATIBILITY.md`Theme + Magento + PHP matrix and the design choices that keep it portable`CHANGELOG.md`Version history`UNINSTALL.md`Clean removal`LICENSE.txt`proprietary license---

Support
-------

[](#support)

- Email:
- Include: Magento version, PHP version, active theme, sample product with vehicle data, screenshot.

---

License
-------

[](#license)

proprietary — see `LICENSE.txt`.

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance94

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

50d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/72d596daffc1cbadfe809b006d2fc518e5ca32cdccca9485410d282898d07ba1?d=identicon)[etechflow0](/maintainers/etechflow0)

---

Top Contributors

[![ahmed21-rg](https://avatars.githubusercontent.com/u/185612486?v=4)](https://github.com/ahmed21-rg "ahmed21-rg (26 commits)")[![ayeshanisar786](https://avatars.githubusercontent.com/u/106437953?v=4)](https://github.com/ayeshanisar786 "ayeshanisar786 (2 commits)")

---

Tags

magentomagento2automotivevehiclehyvalumapart-findermake-model-yearymm

### Embed Badge

![Health badge](/badges/etechflow-module-product-fitment-finder/health.svg)

```
[![Health](https://phpackages.com/badges/etechflow-module-product-fitment-finder/health.svg)](https://phpackages.com/packages/etechflow-module-product-fitment-finder)
```

###  Alternatives

[mollie/magento2

Mollie Payment Module for Magento 2

1131.9M16](/packages/mollie-magento2)[opengento/module-category-import-export

This module add the capability to import and export the categories from the back-office.

1310.9k2](/packages/opengento-module-category-import-export)[smile/elasticsuite

Magento 2 merchandising and search engine built on ElasticSearch

8064.7M50](/packages/smile-elasticsuite)[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

68357.9k](/packages/run-as-root-magento2-prometheus-exporter)[loki/magento2-components

Core module for defining Alpine.js components with advanced AJAX features

1011.8k26](/packages/loki-magento2-components)[joseph-leedy/module-custom-fees

Adds configurable custom fees to orders

361.2k](/packages/joseph-leedy-module-custom-fees)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
