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();
}
最初の 2 つのコールバックは、フォームと項目を保存するために使用される通常のカート フォーム コールバックです。この関数は、カート ビュー (メニュー項目「カート」からの元のコールバック) を返します。これは、1 つの小さな点を除いて完全に機能します。行の合計は変更されません。注文の合計は変更される必要がありますが、行ごとの合計金額は同じままです。 .
誰かがここで私を助けてくれますか?
ありがとう!