Product reference field
More information on the Product reference field forthcoming.
See commerce_product_reference.module for now.
-------
The product display field (aka 'Add to Cart field') is a fieldAPI field which is used to display a product/products to the end-user, typically as an Add-to-cart form which is displayed on a node.
Typically this field will be used on a node type. For example, a site may have a product node type which includes images, description, and a product display field. The end user will view this node and be able to add a product to the cart.
The field can have a cardinality greater than 1, allowing a user to select from multiple products. This will be useful for products that are related (choose a size or color) and may potentially be useful for product kit functionality (TBD).
The field also allows the admin to override the default product price.
Widget
Ubercore should have at least one widget for the field and basic settings. The settings should include:
Cardinality (how many products to allow per field)
Options to override the product price and the product title (for example, you may want to display simply 'Large' and 'Small' for the product in the display, rather than the full product name.)
When entering products into the field, the admin should use an autocomplete widget to choose products. See rough mockup. The admin should be able to create a new product on the spot via modal dialog (we can require Overlay module if useful)
Display formatter
Ubercore should have at least one default display formatter for the field. The formatter should display:
An Add to Cart button
Selection between multiple products
Display of price
Display of Product name/names
Ability to add more than 1 product at a time
Comments
a different widget
here
http://www.drupalcommerce.org/faq/product-attributes#comment-1504
I propose a more complex widget for reference, I think there are no problem with this schema, product entities could be edited by the referense, there is something like this in taxonomy (new term creation)