function sample_product_form_alter(&$form, &$form_state, $form_id) { if (strpos($form_id, 'commerce_cart_add_to_cart_form') === FALSE) { return; } $product = NULL; /** * 1. Product via form_state (Commerce standard) */ if (!empty($form_state['line_item'])) { $line_item = $form_state['line_item']; if (!empty($line_item->commerce_product['und'][0]['product_id'])) { $product = commerce_product_load($line_item->commerce_product['und'][0]['product_id']); } } /** * 2. Fallback product_id */ if (!$product && !empty($form['product_id']['#value'])) { $product = commerce_product_load($form['product_id']['#value']); } /** * 3. Sécurité */ if (!$product || !is_object($product)) { return; } /** * 4. CHECK sample */ if (!empty($product->field_is_sample['und'][0]['value'])) { if (isset($form['submit'])) { $form['submit']['#access'] = FALSE; } if (isset($form['quantity'])) { $form['quantity']['#access'] = FALSE; } $form['sample_message'] = array( '#markup' => '
', '#weight' => -10, ); $form['#attributes']['class'][] = 'is-sample-product'; } }