I am trying to create a custom widget for the entity reference field type which will be a hidden field with its value set to the current page's node id. This is my code:
function my_example_field_widget_info() { return array( 'my_example_hidden_nid' => array( 'label' => t('Hidden nid field'), 'field types' => array('entityreference'), ) ); } /* implements hook_field_widget_form*/ function my_example_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) { $element['hidden_nid'] = array( '#type'=>'textfield', '#description'=>t('The nid of the Photo node which product line item refers to'), '#default_value'=>arg(1), ); return $element; }
I first tried this as a textfield, and saw that the form field was being properly populated.
This field is attached to a Drupal Commerce Line Item, to produce some custom functionality. However, when I clicked Add to Cart, and the Line Item was saved, this entityreference field was not saved into the database. (Since I am adding a widget to a previously defined field type, I did not use any hook_field_schema()'s)
How can I fix this?