eadameg wrote:I just added a comment to the work item:
http://nopcommerce.codeplex.com/workitem/7796The concept of attribute templates is a key issue in Nop which has to be adressed. There are several threads in this forum requesting/commenting this feature. I think its worth commenting it and essuter has done a good analysis that can be the bassis for further discussion; therefore I am copying it below:
Goudinov wrote Today at 2:06 PMAnother avenue worth exploring would be attribute groups and attribute inheritance.
You could create many attributes outside of the product and place them into a group. For instance:
Group: Clothing Attributes
Attributes and values
Color - Red, Blue, Pink, White, Black
Size - S, M, L, XL
Then you have products
Short Sleeve Shirt
Long Sleeve Shirt
Tank Top Shirt
Hoodie
Jacket
Cap Sleeve Shirt
Baby Doll Shirt
Ringer Shirt
Crop Top Shirt
Toddler Romper
You add the "Clothing Attributes" group to all of these products.
In the past weeks I have been checking how other shopping cart softwares (like Magento, ZdNode, etc.) tackle this concept, so here are my two cents:
In Nop all product attributes are used for various purposes whereas in other software they distinguish:
- Combination Attributes Groups or Sets: which are variations (some call it Variants or interdependent attributes) of the same product which vary by sizes, colors, fabric, etc. They are similar to the Attribute Group defined by Goudinov but they include Inventory and other properties.
Products have only one Group or Set of Combination Attributes which include all which represent all the variatons of the same product (example color and size in Guodinov example). Normaly inventory is associated for each possible combination of the attributes (like it is done in Nop when you define the attribute combinations. See example
in admin demo in ProductVariantAttributes tab>AttributesCombinations tab). In this case it is not necesary to define non-existant combinations (or they can be set with inventory=0).
- Simple attributes (or independent attributes): which are used for addons to the product such as embroiding or printing in clothes
- Associated Products: which are other products which could be bundled with the main product (examples the cufflinks for a shirt or the printer and additional software for a computer). In some shopping carts they are treated in anoter section/tab of the product, similar to Related Products.
Suggestion 1) Create Combination Attributes GroupThey would be as a Attribute Groups as defined by Goudinov, but they would include Inventory and SKU Modifiers (
see this work item). Each product can have only one Combination Attributes Set and each set can built from up to 5 attributes (size, color, fabic, etc.).
It is important to mention that in garment industry (in which the concept of Combination Attributes Groups is mostly used) it is very common to have a standard set of inventory for similar types of products (see example in table below). Each set for instance has the same inventory for each size (they follow the Normal/Gauss curve which reflects the demand for sizes), and some colors/fabrics with more demand have more sets (in example: White with 2 sets) or follow another size pattern (as in example: Black)
INVENTORY S M L XL XXL
Red 1 2 3 2 1
Blue 1 2 3 2 1
Pink 1 2 3 2 1
White 2 4 6 4 2
Black 1 3 4 3 1
Below is a table with an example of SKU Modifiers. The SKU of each combination is built appending the SKU Modifier to the SKU of the product variant (example: 123). So for the Red-M the SKU would be 123-R-M.
SKU MODIFIERS S M L XL XXL
Red -R-S -R-M -R-L -R-X -R-XX
Blue -Bu-S -Bu-M -Bu-L -Bu-X -Bu-XX
Pink -P-S -P-M -P-L -P-X -P-XX
White -W-S -W-M -W-L -W-X -W-XX
Black -Bl-S -Bl-M -Bl-L -Bl-X -Bl-XX
The Attribute Combination table would look similar to this:
.Red S 1 -R-S
.Red M 2 -R-M
...
There are 2 options to build/edit the table (both necessary):
1) Manual: line by line; in a similar fashion as the attribute combination table of a product variant is built in Nop admin.
2) Automatic:
- Create the individual tables for each attributes which include Inventory (exampleS Size:(1,2,3,2,1); Color:(1,1,1,2,1)) and "sub-SKU-Modifiers" (Size:(-S,-M,-L,-X,-XX); Color:(-R,-Bu,-P,-W,-Bl))
- Create the preliminar Combination Attribute Group selecting the corresponding attributes and pressing CREATE. The table will be created will all possible attribute combinations. Inventory would be the result of the multiplication of the individual inventory of each of the attributes (Example for White M = 2 x 2 = 4) and the Modifier the concatenation of the sub-modifiers (Example for White M = "-W" & "-M" = "-W-M").
- Make adjustments/edit the table: eliminate (delete unexistant combinations); edit some fields (example Inventory in Black M, L and XL); or add new combinations. For that the features in Option 1) would be suitable.
The rest would be very simmilar as proposed by Goudinov:
- Add/Associate the Attributes Combination Group to each product to built its individual attribute combination table
- And to replicate the 6 scenarios:
-- Edit the Attribute Combination Group (using Option 1) and then in bulk select which lines should be added to its associated products and which lines should be deleted in the product and/or the Attribute Combination Group tables.
-- Edit the individual tables for product attribute combinations.
I ended with a headache too :-))