Убрать добавление валюты при пересчете корзины
Каким образом можно убрать добавление валюты при изменении корзины?!
Объясню нагляднее, что я имею в виду:
Сумму в корзине можно вывести как минимум 2 способами:
{$cart_total = $wa->shop->cart->total()}
1) {$cart_total} - выводится только число (777)
2) {wa_currency_html($cart_total, $wa->shop->currency())} - выводится и число, и валюта (777 Р)
Я хочу использовать первый вариант ($cart_total), но при добавлении товара в корзину, к число автоматически приписывается валюта, что мне не нужно.
Кусок из js, отвечающий за изменение
$.post(f.attr('action') + '?html=1', f.serialize(), function (response) { if (response.status == 'ok') { var cart_total = $(".cart-total"); var cart_count = $(".cart-count"); cart_total.closest('#cart').removeClass('empty'); cart_total.html(response.data.total); cart_count.html(response.data.count); } else if (response.status == 'fail') { alert(response.errors); } }, "json");
Какой кусок и в каком файле отвечает за добавление валюты при изменении суммы заказа?
4 ответа
Если речь только о странице корзины, то можно в шаблоне (cart.html) убрать вывод валюты - например, вместо {shop_currency_html($cart.total, true)} оставить только {$cart.total}
О всех страницах, так как в моем случае корзина (в виде небольшого блока) выводится в header'е. Соответственно, валюта появляется и на странице оформления, и на страницах категорий и продукта
У вас проблема именно с выводом от JavaScript? Попробуйте:
Во всех местах где используется вывод ответа сервера через скрипт заменять значение валюты или получать только число. Например заменить:
cart_total.html(response.data.total.replace('<span class="ruble"></span>'));
* Есть и плохой способ, отредактировать файл "action" добавления товара в корзину:
shopFrontendCartAdd.controller.php
сделать изменения в строке:
$this->response['total'] = $this->currencyFormat($this->cart->total());
но не рекомендую, для начала вам нужно понять зависимости при трансформациях с валютами, так же при очередном обновлении приложения се изменения сбросятся.
* Примеры могут не работать