You are here

function uc_product_kit_add_to_cart_form_submit in Ubercart 8.4

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

Adds each product kit's component to the cart in the correct quantities.

See also

\Drupal\uc_product\Form\AddToCartForm

1 string reference to 'uc_product_kit_add_to_cart_form_submit'
uc_product_kit_uc_form_alter in uc_product_kit/uc_product_kit.module
Implements hook_uc_form_alter().

File

uc_product_kit/uc_product_kit.module, line 736
The product kit module for Ubercart.

Code

function uc_product_kit_add_to_cart_form_submit($form, FormStateInterface $form_state) {
  if (\Drupal::config('uc_cart.settings')
    ->get('add_item_msg')) {
    $node = Node::load($form_state
      ->getValue('nid'));
    \Drupal::messenger()
      ->addMessage(t('<strong>@product-title</strong> added to <a href=":url">your shopping cart</a>.', [
      '@product-title' => $node
        ->label(),
      ':url' => Url::fromRoute('uc_cart.cart')
        ->toString(),
    ]));
  }
  $cart = \Drupal::service('uc_cart.manager')
    ->get();
  $redirect = $cart
    ->addItem($form_state
    ->getValue('nid'), $form_state
    ->getValue('qty'), $form_state
    ->getValues());
  if (isset($redirect)) {
    $form_state
      ->setRedirectUrl($redirect);
  }
}