Skip to main content
1 of 2
lenni
  • 668
  • 6
  • 17

Enabling AJAX in Views breaks Form API AJAX button (Drupal 8)

On a product node there is form with a button "add to cart" that is implemented with form API (ajax):

$form['add_to_cart'] = array(
  '#type' => 'button',
  '#value' => $this->t('Add to cart'),
  '#ajax' => array(
    'callback' => 'Drupal\custom_cart\Form\AddToCartForm::addProductToCart',
    'event' => 'click',
    'effect' => 'fade',
    'wrapper' => '#custom-cart', 
    'progress' => array(
      'type' => 'throbber',
    ),
  )
);

This works as expected.

For a product overview page we render out product nodes with a view (node teasers) and the view includes some exposed filters. If the view is ajax enabled the ajax callback from the "add to cart" button (breaks) and returns a 404 error:

Request URL:http://foobar.lo/views/ajax?_wrapper_format=drupal_ajax Request Method:POST Status Code:404 Not Found

Does somebody know how to fix this (core patches anywhere?) or a workaround you know?

Thanks for any advice

lenni
  • 668
  • 6
  • 17