I am working with a client that handles distribution for an array of goods that do not fall into traditional sizing schemes (S, M, L). Instead, some products are characterized by length in mm, weight in kg, qty in a kit, etc. Because of the wide array and volume of nodes, it doesn't make sense to create a new vocabulary/category out of so many unrelated terms.

  • Set 1: 160mm, 180mm, 203mm
  • Set 2: 1xsm + 2xlg; 2xsm
  • Set 3: 25 mL, 250 mL, 1 L, 5 L
  • etc (totally different kinds of sets that are not reused across product types)

I specified a "text field" as "Product specific size", allowing the user to insert whatever size type made sense up to 100 characters. I thought I could use that as a dropdown menu so that the size could be selected by the shopper in the "Add to Cart" form.

However, it looks like that's a no-go for text fields. Because the size varies across other parameters (qty in kit x color), having the variant name be the selection method seems pretty hokey.

What have others done for this use case?

Thanks - keb


1 Answer 1


6/5 Follow up:

Looking into this further, the "Cart" module calls the "Options" module in order to determine which fields are eligible to be "Add to Cart" form attributes:

// If the current field instance is not locked, is attached to a product
// type, and of a field type that defines an options list... 

In the "Options" module, it looks for data that is entered/stored as an array, e.g. a select list, taxonomy list, etc.

Thinking this through, it seems like it won't be possible to call the user-entered data in a text field for multiple Product Variations because it isn't stored in req'd format.

There may be a way to write custom code to work around this, but I relented and made an absurd list of "Product Specific Options" that takes care of the use case. Since most products on the site will be imported, the burden on editor/user won't be too high.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.