• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Как обновлять переменную корзины?

Kiyik

Форумчанин
Добрый день!
Подскажите, пожалуйста. Хочу в корзине вывести "Дополните заказ еще на ... руб. и получите бесплатную доставку". Получаю значение суммы в корзине, вычитаю из требуемой суммы сумму в корзине и вывожу это число. Все работает. Но фишка в том, чтобы при обновлении корзины этот блок тоже обновлялся, я где-то прочитал, что нужно обернуть в класс "cart_totals". Действительно, начало обновляться. Но вот из-за этого класса выводятся дополнительные блоки оформления заказа. Хотел уточнить, можно ли как-то сделать по-другому?
 

marr

Специалист
Местный
Хочу в корзине вывести "Дополните заказ еще на ... руб. и получите бесплатную доставку". Получаю значение суммы в корзине, вычитаю из требуемой суммы сумму в корзине и вывожу это число. Все работает. Но фишка в том, чтобы при обновлении корзины этот блок тоже обновлялся, я где-то прочитал, что нужно обернуть в класс "cart_totals". Действительно, начало обновляться. Но вот из-за этого класса выводятся дополнительные блоки оформления заказа. Хотел уточнить, можно ли как-то сделать по-другому?

Трудно сказать, что у вас не так, не видя сайта и вашего кода. Я выводила без всяких классов.
 

Kiyik

Форумчанин
Трудно сказать, что у вас не так, не видя сайта и вашего кода. Я выводила без всяких классов.

У меня сейчас вот так:
$sum_need = 1200 - WC()->cart->cart_contents_total;
if (WC()->cart->cart_contents_total < 1200){
echo 'Дополните корзину на '. $sum_need . ' руб и получите беспланую доставку!';
}

Это работает. Но в случае обновления корзины, нужно перезагрузить всю страницу, чтобы в этом блоке что-то поменялось. А сама корзина обновляется по AJAX. Если обернуть этот инфоблок в класс, то он тоже начинает обновляться по AJAX, но помимо него начинает высвечиваться кнопка "оформить заказ" и каждый аз нажимая на обновить, эта кнопка почему-то дублируется вместе с инфоблоком.
 

Kiyik

Форумчанин
Значит надо добавить скрипт jQuery к вашему хуку.

А можете дать подсказку, как искать? Может есть какие-то полуготовые решения или примеры реализации. Я просто в этом очень плохо разбираюсь) заранее благодарю.
 

marr

Специалист
Местный
Я просто в этом очень плохо разбираюсь
Когда плохо разбираются, то делегеруют задачу тому, кто разбирается :sneaky:
Самое простое для вас, наверное, отключить AJAX в корзине и оставить обновление по кнопке, раз так у вас все работает.
 
Сверху Снизу