Динамическое изменение цены в зависимости от количества товара ? (Drupal 7 / Commerce)

Главные вкладки

Аватар пользователя alex-litvinov alex-litvinov 7 октября 2018 в 11:38

Добрый день интересует метод как в корзине Commerce можно было бы при изменении количества товара сразу менялось итоговая стоимость без перезагрузки страницы?

Комментарии

Аватар пользователя alex-litvinov alex-litvinov 8 октября 2018 в 1:32

Чуть не пойму его суть, установил, dev версию
во views установил: Использовать AJAX:Да
Но ничего не происходит
JQ 1.9
В чем может быть причина?

Аватар пользователя gun_dose gun_dose 8 октября 2018 в 6:40
1

В первом комментарии ссылка на заброшенный модуль: последнее обновление дев-версии 5 лет назад.

https://www.drupal.org/project/dc_ajax_add_cart
Вот это нормальный модуль. Только если память не изменяет, у этого блока свой блок корзины, его нужно вывести вместо вашего.

Аватар пользователя alex-litvinov alex-litvinov 8 октября 2018 в 9:30

Он и стоял, только что бы был перерасчет необходимо нажимать, на "обновить корзину", страница не перезагружается, но нужно что бы она без нажатия на кнопки сразу пересчитывала.

Аватар пользователя alex-litvinov alex-litvinov 12 октября 2018 в 15:25

Данные модули позволяют пересчитать без обновления, но нужно что бы когда вводишь число товара, сразу же обновлялась итоговая стоимость.

Аватар пользователя alex-litvinov alex-litvinov 16 октября 2018 в 9:34

Сделал но че то не работает

<input type="submit" id="edit-submit" name="op" value="Обновить корзину" class="form-submit ajax-processed">

<script>
setInterval(function() {
document.getElementById("edit-submit").submit();
}, 2000);
</script>
Аватар пользователя alex-litvinov alex-litvinov 16 октября 2018 в 9:38

Нашел код в template.php, для решения этого вопроса, но он не работает почему то:

<?phpfunction MODULE_form_commerce_cart_add_to_cart_form_alter(&$form, &$form_state){
  // Add read only price field to add to cart form
  if (isset($form_state['default_product']->commerce_price)){
    $price = commerce_product_calculate_sell_price($form_state['default_product']);
    $form['display_price'] = array(
      '#title' => t('Price'),
      '#type' => 'item',
      '#markup' => commerce_currency_format($price['amount'], $price['currency_code']),
      '#prefix' => '<div class="display-price">',
      '#suffix' => '</div>',
    );
  }
}?>