Drupal Commerce и AJAX - ошибка

Аватар пользователя Grey Grey 31 марта 2013 в 20:22

Сделал вывод товаров Drupal Commerce в виде Views таблицы c Exposed Filters. Если не трогать фильтр и нажать "добавить в корзину" то все Ок, а в случае если после фильтрации или сортировки нажать "добавить в корзину" то выводит ошибку по адресу mysite/views/ajax

[{"command":"settings","settings":{"basePath":"\/mysite.com.ua\/","pathPrefix":"","ajaxPageState":{"theme":"bartik","theme_token":"grn_Xy3oWPE1zWU2ff8VYJsyeA-WNKWn_zEKb3_3UVc"},"colorbox":{"opacity":"0.85","current":"{current} \u0438\u0437 {total}","previous":"\u00ab \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439","next":"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u00bb","close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","maxWidth":"98%","maxHeight":"98%","fixed":true}},"merge":true}]

Что за беда, и как побороть. Если выключить AJAX то же самое работает без ошибки.

Комментарии

Аватар пользователя Grey Grey 29 апреля 2013 в 23:39

Search API & Facet API вроде не работают напрямую с Commerce Products, только через Commerce Display.

Аватар пользователя milkovsky milkovsky 7 августа 2013 в 12:36

Решением для меня стало только добавлять товары в корзину аяксом http://xandeadx.ru/blog/drupal/645.
Сообщение о добавлении в корзину после этого отображалось при перезагрузке страницы.

Решил так:
Отключил стандартный Rules "Display an Add to Cart message".
И немного переделал modulename_add_to_cart_ajax_callback() чтобы показывать сообщение о добавлении товара.

/**
 * "Add to cart" button ajax callback.
 */

function modulename_add_to_cart_ajax_callback($form, &$form_state) {
  $product_id = $form_state['values']['product_id'];
  $product = commerce_product_load($product_id);
  $cart_block = module_invoke('commerce_cart', 'block_view', 'cart');
 
  $message = t('%title added to <a href="!cart-url">your cart</a>.', array('%title' => $product->title, '!cart-url' => url('cart')));
  $message_html = '<div class="messages status">' . $message . '</div>';
  return array(
    '#type' => 'ajax',
    '#commands' => array(
      ajax_command_html('#block-commerce-cart-cart .content', render($cart_block['content'])),
      ajax_command_invoke('#page-title', 'after', array($message_html)),
    ),
  );
}
Аватар пользователя vlucas vlucas 16 февраля 2016 в 14:38

Скажите в связи с этим: http://xandeadx.ru/blog/drupal/751, ничего ли не изменилось за последнее время с этой ошибкой views?
К сожалению с использованием данного модуля тоже возникает эта ошибка, а с решением без него работает нормально