How do I attach some entity fields (or widgets?) to a form?
I think you can certainly use field_attach_form. Take a look at the $options argument that is explained in more detail in the _field_invoke documentation. For more information you can also have a look at this issue: https://drupal.org/node/1825844

You can include any field of any bundle into any form using this approach:

field_attach_form('node', $entity, $form, $form_state, NULL, array(
  'field_name' =&gt; 'field_sku',
));


When I last used this approach I remember having passed a copy of the original form into field_attach_form() in order to prevent my original form from being modified to much. Then I have copied only field element into my original form:

$form_tmp = $form;
field_attach_form('node', $entity, $form_tmp, $form_state, NULL, array(
  'field_name' =&gt; 'field_sku'
));
$form['field_sku'] = $form_tmp['field_sku'];


Just look at the mentioned functions to see what they do. I'm not sure if this last part is needed.

And one more link to explore:


https://api.drupal.org/comment/49363#comment-49363