diff --git a/modules/cart/commerce_cart.module b/modules/cart/commerce_cart.module index 8274e3d..3191a9d 100644 --- a/modules/cart/commerce_cart.module +++ b/modules/cart/commerce_cart.module @@ -1351,12 +1351,22 @@ function commerce_cart_field_instance_access_settings($instance) { function commerce_cart_add_to_cart_form_id($product_ids, $qty = 0) { // Make sure the length of the form id is limited. $data = implode('_', $product_ids); + static $commerce_cart_add_to_cart_form_ids; if (strlen($data) > 50) { $data = drupal_hash_base64($data); } + $form_id = 'commerce_cart_add_to_cart_form_' . $data; + // make sure the form_id is unique, adds an extra incremental number to the id + if (isset($commerce_cart_add_to_cart_form_ids[$form_id])) { + $commerce_cart_add_to_cart_form_ids[$form_id] += 1; + } + else { + $commerce_cart_add_to_cart_form_ids[$form_id] = 1; + } + $form_id .= '_' . $commerce_cart_add_to_cart_form_ids[$form_id]; - return 'commerce_cart_add_to_cart_form_' . $data; + return $form_id; } /**