CakeProducts/README.md

50 lines
1.9 KiB
Markdown
Raw Normal View History

# CakeProducts plugin for CakePHP
2024-11-22 09:18:16 +00:00
## Installation
You can install this plugin into your CakePHP application using [composer](https://getcomposer.org).
2025-11-04 10:10:37 +00:00
The recommended way to install is:
```
2025-03-27 09:11:34 +00:00
composer require hi-powered-dev/cake-products
```
2025-11-04 10:10:37 +00:00
Be sure to run the DB migrations:
```
bin/cake migrations migrate -p CakeProducts
```
And the DB seed(s):
```
bin/cake migrations seed -p CakeProducts
```
You can either load the plugin with routes enabled to use default controller actions, or just use/extend the database structure and use your own controllers
## Database Structure
Products belong to ProductCategories, ProductCategories is hierarchical and belongs to ProductCatalogs.
ProductCategoryAttributes belongs to ProductCategories and attributes are inherited from their parents up the category tree.
2025-03-27 09:21:49 +00:00
ProductCategoryAttributes can have many ProductCategoryAttributeOptions (constrained attributes)
2025-11-04 10:10:37 +00:00
ProductCategoryVariants are templates/common starting points for variants - when adding a new product in that category it is easy to toggle on that category variant so the product uses the variant
ProductCategoryVariantOptions are the various options for each category variant
ProductVariants are the assigning of category variants to a product. A product can have as many variants as it's category has category variants. A variant must exist at the category level in order to be assigned to a product.
Products can have many ProductSkus. A ProductSku is a specific combination of variant options - using a T-Shirt with a size and a color variant for example,
the ProductSku would be a Red XL T-Shirt. Not all variant combinations need be used.
ProductSkuVariantValues is where the variant values of each SKU are stored.
## Suggested Plugins
Use the CakeCarts plugin to quickly enable shopping cart functionality with your products [CakeCarts](https://packagist.org/packages/hi-powered-dev/cake-carts)
```
composer require hi-powered-dev/cake-carts
```