Adding Product Fields. Opinions?
Posted: Fri Dec 18, 2009 10:15 am
My company has been trying to build a new website around AbleCommerce (currently 7.0) and they have asked me to take over the project (the former project manager left months ago). I am trying to pick up the pieces and figure out where to begin and was dissapointed to find little in the way of developer documentation. I have read many posts here and still feel like I am missing some basic concepts.
My primary concern right now is that they want to add about 25 custom fields for each product. It looks like my predecessor originally added columns directly to the the ac_products table (!), but then (I'm guessing) thought better of this idea, and then added all the fields to the ac_InputFields table.
But... is using the ac_ProductTemplates/ac_InputFields the best way to do this? Most of the products, regardless of product template, need these additional fields, so each custom field must be added several times in the ac_InputFields table, once for every ProductTemplateID.
The ac_ProductCustomFields seems like a better choice in this case. Or am I missing something? What is this table intended for (it seems to have no front end in Admin pages)?
Another option is to create a table with a 1-to-1 realtionship with the ac_products table (ProductID). This seems to me to be the best option for several reasons. I could specify data type for each new column. Querying product data would be easier (it would make importing/updating data from an external source (important) easier). Customizating of the pages would be a bit simpler. It should also be fairly easy to handle during an upgrade. Is this reasoning sound, or is it better for some reason to use one of the former 2 options?
Which option would be most upgrade friendly, and product-import friendly, etc.? Will Data Port play nice with a custom table?
To sum up... for additional product fields, should I:
A) use ac_ProductTemplates/ac_InputFields
B) use ac_ProductCustomFields
C) create "cstm_Products" table with 1-to-1 relationship with ac_Products (new fields as columns, not entries)
I guess I should add that I am not a web developer guy- once the tables are there and the data is importing succesfully from our in-house product db, I will hopefully be paying someone for the aspx stuff- IF my company can afford it. Any input is greatly appreciated, even if its just references to other sources to check out.
My primary concern right now is that they want to add about 25 custom fields for each product. It looks like my predecessor originally added columns directly to the the ac_products table (!), but then (I'm guessing) thought better of this idea, and then added all the fields to the ac_InputFields table.
But... is using the ac_ProductTemplates/ac_InputFields the best way to do this? Most of the products, regardless of product template, need these additional fields, so each custom field must be added several times in the ac_InputFields table, once for every ProductTemplateID.
The ac_ProductCustomFields seems like a better choice in this case. Or am I missing something? What is this table intended for (it seems to have no front end in Admin pages)?
Another option is to create a table with a 1-to-1 realtionship with the ac_products table (ProductID). This seems to me to be the best option for several reasons. I could specify data type for each new column. Querying product data would be easier (it would make importing/updating data from an external source (important) easier). Customizating of the pages would be a bit simpler. It should also be fairly easy to handle during an upgrade. Is this reasoning sound, or is it better for some reason to use one of the former 2 options?
Which option would be most upgrade friendly, and product-import friendly, etc.? Will Data Port play nice with a custom table?
To sum up... for additional product fields, should I:
A) use ac_ProductTemplates/ac_InputFields
B) use ac_ProductCustomFields
C) create "cstm_Products" table with 1-to-1 relationship with ac_Products (new fields as columns, not entries)
I guess I should add that I am not a web developer guy- once the tables are there and the data is importing succesfully from our in-house product db, I will hopefully be paying someone for the aspx stuff- IF my company can afford it. Any input is greatly appreciated, even if its just references to other sources to check out.