create product attributes the same way we create discounts - ie in one location so they are created once and then available to any product.
actually, i know i thought about this before but i can't remember if i posted it in here already!! but...
just now, when we have product attributes - size for example - we have to create values for these for every individual product.
so if we sell 500 different shirts each one available as s,m,l we can create 1 attribute (in catalog-->attributes-->product attributes)but we must create values for this attribute 500 times.
an idea would be to have the option to create an attribute and it associated values in one place which can be applied across all products (the same way can apply discounts)
I do not see this as a replacement for the current method, rather, I see it as an additional method - perhaps something like : catalog-->attributes-->global product attributes.
I have been wanting this method also, I had this with my crappy godaddy shopping cart, but it saved me a ton of time, right now it can take hours upon hours to add the individual attributes to the same like type items, with this feature it could save me hours of time.
i was giving some thought to how this would be best implemented -
1) either create one attribute with values which would be directly linked to by any product(s)
or
2) when you edit the product, you choose this attribute and it is copied to the product so that you can then maybe add or edit a value for this individual product eg product attribute has 10 values but one of the products you want to copy these attributes to only needs 9 of the values
i wonder then, if option 1) was the way to go then maybe a 'copy attribute' button would be useful
Without being able to pre-define attributes that can easily be added to multiple products and where adding a new attribute list item would immediately make it available to all products with that attribute, I'm afraid we won't be able to implement nopCommerce for our store. All products are custom order design products with a lot of font, size, color, etc., options that the customer can configure, then the product is built to order.
If, for example, we decide to offer a new font for monogramming, it will take too long to add that new font option to all of our products.
since the introduction of the product copy feature in v1.5 this is not so much of an issue (I still like the idea in principle )
but now you could spend a little time creating a template product with the different attributes and easily copy this product - including all the attributes
True, But if I sell an expanding line of customizable products from shirts, mugs, backpacks, placemats, plates, etc, and they are all available in Black, White, and Red, then when I decide to start offering Green, Blue and Purple shirts, look at how many edits that is. Top that off with these shirts being customizable with font choices which could expand, choices of images which could grow, then you can understand the kind of maintenance nightmare I'm up against.
I need to be able to say that I now offer Green, Purple, and Blue for the "Color" attribute on products, then select which products/variants these new selections apply to and click "Add" rather than opening each product, then opening a variant, then going to the attribute tab, then clicking the Edit Items, then adding 3 new items, then saving, then going to the next product, etc, etc...
I might write my own data tables and stored procedures to handle this, because the many other class-act features of nopCommerce are quite outstanding.
Hi, I'd like to share some code which I hope you find it useful to you.
NB:I strongly recommend that Iadd any table or sp with Keem as I did to be able to destanguage from Nop
--I 'll try customizing my desgin to --best benifet from & be in accordance to the NC db desgin
--- ---Atributes ---
-- Create attribute table (stores attributes such as Size and Color) CREATE TABLE [dbo].[Keem_Attribute] ( [AttributeID] INT IDENTITY(1,1) NOT NULL PRIMARY KEY, [Name] NVARCHAR(100) NOT NULL); -- e.g. Color, Size GO
-- Create AttributeValue table (stores values such as Green or XXL) CREATE TABLE [dbo].[Keem_AttributeValue] ( [AttributeValueID] INT IDENTITY(1,1) NOT NULL PRIMARY KEY, [AttributeID] INT NOT NULL, -- The ID of the attribute i.e 1 for Color [Value] NVARCHAR(100) NOT NULL ); -- E.g. Green GO
ALTER TABLE [dbo].[Keem_AttributeValue] WITH CHECK ADD CONSTRAINT [FK_Keem_AttributeValue_Keem_Attribute] FOREIGN KEY([AttributeID]) REFERENCES [Keem_Attribute] ([AttributeID]); GO
------Localization !------------
--Localizied Attribute CREATE TABLE [dbo].[Keem_Attribute_Localized] ( [AttributeLocalizedID] INT IDENTITY(1,1) NOT NULL, [AttributeID] INT NOT NULL, [LanguageID] INT NOT NULL, [Name] NVARCHAR(100) NOT NULL, -- e.g. Color, Size CONSTRAINT [PK_AttributeLocalizedID] PRIMARY KEY CLUSTERED ([AttributeLocalizedID] ASC), CONSTRAINT [AK_AttributeID_LanguageID] UNIQUE NONCLUSTERED([AttributeID],[LanguageID])); GO
ALTER TABLE [dbo].[Keem_Attribute_Localized] WITH CHECK ADD CONSTRAINT [FK_Keem_Attribute_Localized_Nop_Language] FOREIGN KEY([LanguageID]) REFERENCES [Nop_Language]([LanguageID]); GO
ALTER TABLE [dbo].[Keem_Attribute_Localized] WITH CHECK ADD CONSTRAINT [FK_Keem_Attribute_Localized_Keem_Attribute] FOREIGN KEY([AttributeID]) REFERENCES [Keem_Attribute]([AttributeID]); GO
--Localizied AttributeValue CREATE TABLE [dbo].[Keem_AttributeValue_Localized] ( [AttributeValueLocalizedID] INT IDENTITY(1,1) NOT NULL, [AttributeValueID] INT NOT NULL, [LanguageID] INT NOT NULL, [Value] NVARCHAR(100) NOT NULL, -- e.g. Color, Size CONSTRAINT [PK_Keem_AttributeValue_Localized] PRIMARY KEY CLUSTERED ([AttributeValueLocalizedID] ASC), CONSTRAINT [AK_AttributeValueID_LAnguageID] UNIQUE NONCLUSTERED([AttributeValueID],[LanguageID])); GO
ALTER TABLE [dbo].[Keem_AttributeValue_Localized] WITH CHECK ADD CONSTRAINT [FK_Keem_AttributeValue_Localized_Nop_Language] FOREIGN KEY([LanguageID]) REFERENCES [Nop_Language]([LanguageID]); GO
ALTER TABLE [dbo].[Keem_AttributeValue_Localized] WITH CHECK ADD CONSTRAINT [FK_Keem_AttributeValue_Localized_Keem_AttributeValue] FOREIGN KEY([AttributeValueID]) REFERENCES [Keem_AttributeValue]([AttributeValueID]); GO
--Now after that,we need to assgin such created Color:Green to any of the Products --with an indivedual price --i.e Green shirt in $20 but blue shirt in $15
--I strongly recoomend that you take notes when altering any Nop_table to be able to recognize custome added colums
ALTER TABLE [dbo].[Nop_ProductVariant] ADD [AttributeValueID] INT; GO
ALTER TABLE [dbo].[Nop_ProductVariant] WITH CHECK ADD CONSTRAINT [FK_Nop_ProductVariant_Keem_AttributeValue] FOREIGN KEY([AttributeValueID]) REFERENCES [dbo].[Keem_AttributeValue]([AttributeValueID]) GO
--for Build your copmuter product,We need to assigin the value instead of rewriting --such attributes for every product.
ALTER TABLE [dbo].[Nop_ProductVariantAttributeValue] ADD [AttributeValueID] INT; GO
ALTER TABLE [dbo].[Nop_ProductVariantAttributeValue] WITH CHECK ADD CONSTRAINT [FK_Nop_ProductVariantAttributeValue_Keem_AttributeValue] FOREIGN KEY([AttributeValueID]) REFERENCES [dbo].[Keem_AttributeValue]([AttributeValueID]); GO
--This is an old design of mine from a previos Ecommerce project, I'll be working on the SP & the Buss. logic code I hope if someone intrested may help me in the website layout code of html & css if needed .