You are here

function uc_product_kit_add_to_cart_form in Ubercart 5

Same name and namespace in other branches
  1. 6.2 uc_product_kit/uc_product_kit.module \uc_product_kit_add_to_cart_form()
  2. 7.3 uc_product_kit/uc_product_kit.module \uc_product_kit_add_to_cart_form()

Lets the cart know how many of which products are included in a kit.

uc_attribute_form_alter() hooks into this form to add attributes to each element in $form['products'].

See also

uc_product_kit_add_to_cart_form_submit

2 string references to 'uc_product_kit_add_to_cart_form'
theme_uc_product_kit_add_to_cart in uc_product_kit/uc_product_kit.module
Wrap the "Add to Cart" form in a <div>.
uc_product_kit_forms in uc_product_kit/uc_product_kit.module
Register an "Add to Cart" form for each product kit.

File

uc_product_kit/uc_product_kit.module, line 524
The product kit module for Übercart.

Code

function uc_product_kit_add_to_cart_form($node) {
  $form = array();
  $form['#base'] = 'uc_product_kit_add_to_cart_form';
  $form['nid'] = array(
    '#type' => 'value',
    '#value' => $node->nid,
  );
  $form['products'] = array(
    '#tree' => true,
  );
  foreach ($node->products as $i => $product) {
    $form['products'][$i] = array(
      /* '#type' => 'fieldset',  */
      '#title' => $product->title,
    );
    $form['products'][$i]['nid'] = array(
      '#type' => 'hidden',
      '#value' => $product->nid,
    );
    $form['products'][$i]['qty'] = array(
      '#type' => 'hidden',
      '#value' => $product->qty,
    );
  }
  if ($node->default_qty > 0 && variable_get('uc_product_add_to_cart_qty', false)) {
    $form['qty'] = array(
      '#type' => 'textfield',
      '#title' => t('Quantity'),
      '#default_value' => $node->default_qty,
      '#size' => 5,
      '#maxlength' => 6,
    );
  }
  else {
    $form['qty'] = array(
      '#type' => 'hidden',
      '#value' => 1,
    );
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => variable_get('uc_product_add_to_cart_text', t('Add to cart')),
    '#id' => 'edit-submit-' . $node->nid,
    '#attributes' => array(
      'class' => 'node-add-to-cart',
    ),
  );
  return $form;
}