AJAX кнопка "Добавить в корзину" в Drupal Commerce
Код, позволяющий добавлять товары в корзину с помощью AJAX:
/**
* Implements hook_form_FORM_ID_alter(): commerce_cart_add_to_cart_form
*/
function modulename_form_commerce_cart_add_to_cart_form_alter(&$form, &$form_state) {
$form['submit']['#ajax'] = array('callback' => 'modulename_add_to_cart_ajax_callback');
$form['#submit'][] = 'modulename_add_to_cart_form_submit';
}
/**
* "Add to cart" button ajax callback.
*/
function modulename_add_to_cart_ajax_callback($form, &$form_state) {
drupal_get_messages();
$cart_block = module_invoke('commerce_cart', 'block_view', 'cart');
return array(
'#type' => 'ajax',
'#commands' => array(
ajax_command_html('#block-commerce-cart-cart .content', render($cart_block['content'])),
),
);
}
/**
* "Add to cart" button submit callback.
*/
function modulename_add_to_cart_form_submit($form, &$form_state){
$form_state['rebuild'] = TRUE;
}
Код может конфликтовать с dev версией Commerce Cart Ajax, потому что модуль достаточно кривой.
Написанное актуально для
Drupal Commerce 1.x
Комментарии:
Нету комментариев для вывода...