Vote up!
Vote down!

How to control custom form fields on the product form?

Hi guys,

I'm developing a custom module that has to send some information to a Web Service after a Product is inserted, updated or deleted.

In order to ensure that all the fields required by the Web Service exist, I have decided that the module should be the one in charge to put them in the Product form. I achieved It by extending the commerce_product_product_form function.

But now, I have noticed that the values for the fields that I have added are not saved, so I supposed that I have to define a custom table in the module to store the additional information.

I have taken the example from AutoSKU regarding how to save and load data for Product Types form. But, what I've not found is how to do, or what are the hooks for saving and loading data for the Product form.

So, my questions are:

- Is It correct what I'm thinking about creating a new table for storing the additional information that I require or can It be implemented as part of the existent routines that the commerce module handles?

- If the module has to save and load the data by using a custom table, What are the hooks that I should use in order to append the form data and save It to the module tables?

- If I can store the information using the commerce routines, What should be the way and/or the hooks to define the custom form fieds?

- Can you tell me if there is any example about how to achieve this?, I have seen some modules but, basically all of them just modified a behavior of the existent fields, they don't add new fields, as far as I could see. The modules that I have reviewed are:

* commerce_custom_product
* commerce_dressing_room
* commerce_fancy_attributes
* commerce_tickets

I would like to achieve this by using the commerce and Drupal best practices but I need to finish this module as soon as possible. So, in the meanwhile I'll be saving the data to a custom table and loading the additional information in the commerce_product_product_form hook and saving the information in the commerce_product_save hook.

Thanks in advanced

Asked by: Dasaev
on February 23, 2016

1 Answer

Vote up!
Vote down!

For loading the data I have tried with the hook_commerce_product_load and hook_entity_load, but for some reason the call seems to never happen (I'm sending some information to Watch Dog but It's never displayed), I also have tried by clearing the cache without any change.

It's weird that none of those functions is working.

Answer by: Dasaev
Posted: Feb 23, 2016