Products
Products are the things customers buy. A product represents a model family (e.g. "iPhone 13"), and each product has one or more variants with specific attributes (color, storage, etc.).
Where to find it
Admin: /commerce/products
Storefront: each product has its own page at /{category-slug}/{product-slug}
Product data
| Field | Purpose |
|---|---|
| Name | Display name on the storefront |
| Slug | URL path segment (auto-generated from name) |
| Manufacturer | Used for filtering and JSON-LD brand data |
| Model family | Groups variants together |
| Device type | Phone, tablet, laptop, etc. (used for filters) |
| Description | Long-form product description (supports HTML) |
| Base image URL | Main image if a variant doesn't have its own |
| SEO meta title / description | For search engines |
| Active | Hides from storefront when false |
Automatic sync from inventory
Products and variants are auto-generated from ehs__inventory by the sync cron job. When you intake devices:
- The sync job groups them by manufacturer + model + attributes
- Creates a product if one doesn't exist
- Creates variants matching each unique attribute combination
- Maps inventory units to variants
You can also create/edit products manually in the admin.
Product detail page features
The storefront product page includes:
- Image gallery and variant selector
- Price (range if variants differ, single if all same)
- Stock indicator
- "Add to cart" button
- Reviews & ratings if enabled
- Service add-ons (warranties) above the price
- Frequently bought together (add-on products)
- Related products (same manufacturer/device type)
- JSON-LD structured data for SEO
Variant matrix
On the product page, customers see an interactive attribute selector. Pick color → storage → condition, and the matching variant's price and availability update live.