Catalog modeling
This part is for merchants and developers who design the product catalog of an Exponential store. In Exponential a product is ordinary content: any content class becomes sellable when it has a price field. That gives you freedom, and with it a few decisions that are hard to change later. These pages go deeper than the business overview in Product classes and catalog.
Contents
- The building blocks
- Questions to answer before modeling
- The pages of this part
- The products overview screen
The building blocks
| Block | What it is | Where it is defined |
|---|---|---|
| Product class | A content class with a price field; the shop recognizes it by that field | Setup > Classes |
| Price field | ezprice (one price) or ezmultiprice (one price per currency) | kernel/classes/datatypes/ezprice/, ezmultiprice/ |
| Option fields | ezoption, ezmultioption, ezmultioption2, ezrangeoption: customer choices stored with the basket item | kernel/classes/datatypes/ |
| Product category | ezproductcategory: the tax class of a product, used by VAT rules | kernel/classes/datatypes/ezproductcategory/, Store > Product categories (shop/productcategories) |
| Folders and locations | Where products sit in the content tree; one product can have several locations | The content tree |
Which datatypes count as price fields is decided by eZShopFunctions (kernel/shop/classes/ezshopfunctions.php):
ezprice and ezmultiprice, or the list in site.ini [ShopSettings] ProductDatatypeStringList[] when that
setting is present (Custom price datatypes).
Questions to answer before modeling
- To do: Which kinds of product do you sell, and does each kind need different fields?
- To do: One currency or several? Prices set by hand per currency, or converted?
- To do: Do prices include VAT or exclude it, and is that the same for all products?
- To do: Does VAT depend on the customer's country and the product's tax class?
- To do: Which customer choices change the price (size, material, service level)?
- To do: Which choices are really separate products (different stock, images, item number)?
- To do: How will customers browse: by category folders, by tags, by search facets?
- To do: Where do product data come from at launch, and later?
The pages of this part
| Page | Answers |
|---|---|
| Catalog modeling in depth | Class design, fields, folders, several locations, translations and import-friendly models |
| Price fields compared | ezprice against ezmultiprice, custom and automatic prices, string formats |
| Options and variants | The four option datatypes, when to use separate products |
| Product categories and VAT rules | Tax classes, VAT rules, the VAT handler and its priority logic |
The products overview screen
Store > Products overview (shop/productsoverview, policy shop/administrate) lists the products of one product
class with their prices and lets you sort the list. Use it to check a catalog after an import or a price change:
missing prices show at a glance. The Store dashboard also counts products without a price
(Store dashboard and order statuses).
Related pages
- Products, prices and VAT
- Designing your content model
- Products and catalog (running your store)
- Product imports and migrations
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.