Как в Ubercart добавить товар в корзину с помощью AJAX
Пример добавления в корзину товара с nid 123.
Javascript:
// Посылаем AJAX запрос
$.post(Drupal.settings.basePath + 'ajax-add-to-cart', {nid:123}, function(response) {
response = Drupal.parseJson(response);
// Показываем сообщение если что-то пошло не так
if (!response.status) {
return alert(response.data);
}
// Обновляем блок с корзиной
$('#block-uc_cart-0 .content').html(response.data);
});
PHP:
/**
* Реализация hook_menu()
*/
function mymodule_menu() {
$items['ajax-add-to-cart'] = array(
'page callback' => 'mymodule_ajax_add_to_cart',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Menu callback
*/
function mymodule_ajax_add_to_cart() {
if (!isset($_POST['nid'])) {
return;
}
// Добавляем товар в корзину
uc_cart_add_item((int)$_POST['nid'], 1, NULL, NULL, FALSE);
// Получаем содержимое блока корзины
$block = module_invoke('uc_cart', 'block', 'view', 0);
// Возвращаем содержимое блока корзины
drupal_json(array('status' => TRUE, 'data' => $block['content']));
}
Написанное актуально для
Ubercart 6.x-2.x
Комментарии:
Нету комментариев для вывода...