News:

Support the VirtueMart project and become a member

Main Menu

Custom Fields functionality

Started by balai, October 18, 2011, 18:47:29 PM

Previous topic - Next topic

cas

I understand and appreciate the effort it would take to make the custom fields not be duplicated in every product.  And I completely understand you are trying to get a stable version done, and I'm just adding to your stress.  It's just that I have to load and maintain over 300 furniture manufactures, each with hundreds of products, and each product has over fifty leather and fabric options.  That makes about 3 million options!  As you can imagine, I was praying not to have all these options duplicated in thousands of products to maintain as they change over the years.   I also thought Balai's offer to do the database work and the saving work in his first post would make his recommendation possible.   But if not, thanks for all the great work regardless.       

As far as the plugin, I wish I was talented enough to write the plugin to do this functionality, but I'm dependent on experts like you guys.   

Thanks,
Chuck 

Cleanshooter

#16
@cas

Well the way I understand it to set a values list for a custom field we would need one more table to store these values with IDs, description, label, ordering ect....  then to link these values to the field you would need a relational table that would link the custom fields id to the values list table... it is true that we would only need the two more tables now that I think about it.  But it would also require a significant re-write to support the new functionality... weeks at least... months probably.   It might have to wait until after we get a stable release...

I always over estimate my development time though so in all reality IDK.

I once used VM for a furniture manufacture I didn't stay on to load all the products but I can understand your pain. 
- Cleanshooter

cristi

Cas, I have a similar situation with you. As we speak I hire a guy to hack v1.5 to be able to do this+ a lot more.
Price update based on attributes selection ( like in v2), main pic change to reflect attribute color...
If you're interested once he finish I give the link where I'll install the hack!

cas

#18
Hi Cristi,

When you say v1.5, are you referring to Joomla v1.5 or some VirtueMart version?    I'm using Joomla v1.7.2 and the latest VirtueMart v1.9.8.RC2 M.

Thanks,
Chuck

cristi


cas

Hi Cristi,

Too bad it's not in VM V2.  But I would enjoy seeing the results when it's finished, so please send me the link with completed.  If the guy does a good job, maybe he would be interested in doing it for V2. 

Cheers,
Chuck

cristi

the only reason i have him work on 1.5v if because it stable and it's a very robust version. V2 its new and as with any new versions it will take months to fix all the bugs... and I need something fast for my new site.   

balai

#22
@Cleanshooter

QuoteWell the way I understand it to set a values list for a custom field we would need one more table to store these values with IDs, description, label, ordering ect....  then to link these values to the field you would need a relational table that would link the custom fields id to the values list table... it is true that we would only need the two more tables now that I think about it.  But it would also require a significant re-write to support the new functionality... weeks at least... months probably.   It might have to wait until after we get a stable release...


Just keep in mind that database changes are hard to be done in next versions because those versions won't be backward compatible.
And in this case the value that comes from that change counts much more than 1 month more to the development cycle.

cas

Hi Balii,

I hope the development team decides it's worth the effort.   It will be a long time until you ever get the chance to do it right again.  By the way, I discovered that Custom Fields of type Image are stored separately from the product using the Media File manager.  Maybe this approach can be reused for all Custom Field types.  Just a hopeful thought.   

Thanks,
Chuck

PRO

Quote from: cas on November 04, 2011, 06:13:02 AM
I understand and appreciate the effort it would take to make the custom fields not be duplicated in every product.  And I completely understand you are trying to get a stable version done, and I'm just adding to your stress.  It's just that I have to load and maintain over 300 furniture manufactures, each with hundreds of products, and each product has over fifty leather and fabric options.  That makes about 3 million options!  As you can imagine, I was praying not to have all these options duplicated in thousands of products to maintain as they change over the years.   I also thought Balai's offer to do the database work and the saving work in his first post would make his recommendation possible.   But if not, thanks for all the great work regardless.       

As far as the plugin, I wish I was talented enough to write the plugin to do this functionality, but I'm dependent on experts like you guys.   

Thanks,
Chuck 

CAS, I have been looking at the custom field plugins, and a lot is going to be done with these.
FOR example, You can have a "Attribute Template Set" . So, for a manufacturer that has a set of colors. You will be able to create the set in "custom fields". Then apply it to the products you want.


balai

QuoteYou will be able to create the set in "custom fields". Then apply it to the products you want.

Is there any documentation or example with this?

cas

Hi Banquet,

Having a "set of attributes" that can be applied to a product will definitely help with the initial loading of products & attributes, but how does this help when attributes change over time?  We will still need to go into all the products one-by-one to change the duplicated attributes.  But if the attribute is unique and stored once in a separate table as Balai has described in his earlier post, then all we have to do is update that one attribute and we're done.  I can appreciate the effort it would take to change VM to store the attributes in a separate table, and I understand the added issue with backward compatibility, but I hope the VM team can understand the level of effort it will take for us who use VM to maintain attributes that are duplicated in all the products.  In my case, it will be a maintenance nightmare because my furniture shop has thousands of products and if the hundreds of leather & fabric attributes are duplicated in all these products, I estimate there will be 3 million attributes to maintain!   Bottom line, I completely understand if there just isn't time to make this change, but I'm willing to pay you guys to have this done right the first time if someone is willing to do it.   Otherwise I will have to pay my data entry folks to maintain 3 million attributes forever.  The new version of VM is absolutely a work of art, so why not make managing attributes just as high quality as the rest of VM.  At least make it equal what osCommerce has had for many years around what they call Options & Option Values.   Regardless of whether you can get this done or not, thanks for all you do!   

Chuck   

PRO

Quote from: balai on November 13, 2011, 16:29:53 PM
QuoteYou will be able to create the set in "custom fields". Then apply it to the products you want.

Is there any documentation or example with this?

^ Not done yet, but Its not going to be hard. You can make your own plugins. (check out one of the plugin files)

The plugins can change the way its stored, AND the way its displayed.

So, it can be stored as a comma separated string
Red,Blue, Green, Yellow, Purple,

Then the output on the front end can use the comma to know when to start a new <select>Red</select>
THEN, can pass that Text on to the cart via Text Input. (hidden)

NOW, as far as attributes that change price. I have not thought about that yet.


////SOOOOOOOOOOOO, what I am saying guys is. Dont panic.

There are going to be things you do not like and wish were different with 2.0. BUT, its WAY better than 1.1. (as long as you move to J1.7)


cas

If anybody develops this plugin, please let us know.