我更改了views_form_commerce_cart_form_default
表单,以便在数量变更时提交ajax。
我的ajax属性如下:
$ajax_field_settings = array(
'event' => 'blur',
'callback' => '_ajax_cart_update_cart',
'method' => 'replace',
'wrapper' => 'ajax-cart-form-wrapper',
'progress' => array('type' => 'none'),
);
foreach (element_children($form['edit_quantity']) as $key) {
$form['edit_quantity'][$key]['#ajax'] = $ajax_field_settings;
}
ajax回调是:
function _ajax_cart_update_cart($form, $form_state) {
// submits form
views_form_views_form_submit($form, $form_state);
commerce_cart_line_item_views_form_submit($form, $form_state);
// return updated cart view
return commerce_cart_view();
}
两个第一个回调是用于保存表单和订单项的常用购物车表单回调。这些函数返回购物车视图(菜单项'cart'中的原始回调。除了一件小事之外,它的工作完美。行总数不会改变。订单总数会按原样改变,但每行的总金额保持不变
有人可以帮助我吗?
谢谢!