Добавляем функцию в конец main.js
function addCart(formSelector) { // Находим форму, которую отправляем на сервер, для добавления товара в корзину var formBlock = $($(formSelector).get(0)); // Проверка на существование формы отправки запроса на добавление товара в корзину if(1 > formBlock.length || formBlock.get(0).tagName != 'FORM') { alert('Не удалось найти форму добавления товара в корзину'); return false; } // Получаем данные формы, которые будем отправлять на сервер var formData = formBlock.serializeArray(); // Сообщаем серверу, что мы пришли через ajax запрос formData.push({name: 'ajax_q', value: 1}); // Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа // Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара $.ajax({ type : "POST", cache : false, url : formBlock.attr('action'), data : formData, success: function(data) { $('#header_shopping_cart:first').html($(data).find('#newCartData').html()); $('#cart_block_other_costs:first').html($(data).find('#newCartHoverData').html()); console.log('Товар добавлен!'); } }); return false; }
Заменить содержимое шаблона Ajax добавление товара в корзину
на
<div class="alignCenter AjaxCartMsg"> {% IF FORM_NOTICE %}<ul class="messages"><li class="{% IF FORM_NOTICE_IS_GOOD %}success-msg{% ELSE %}error-msg{% ENDIF %}">{FORM_NOTICE | nl2br}</li></ul>{% ENDIF %} <!-- Блок для обновления данных корзины. Не виден пользователю --> <div style="display:none;" id="newCartData"> <div id="shopping_cart"> <a href="{CART_URL}" title="Перейти в корзину"> {% IF cart_count_empty %} <span class="ajax_cart_no_product">Корзина пуста</span> {% ELSE %} <span class="ajax_cart_quantity">{CART_COUNT_TOTAL} товар{CART_COUNT_TOTAL | gen_word_end("","а","ов")}</span> {% ENDIF %} <span class="down_arrow_dark"></span> </a> </div> </div> <div style="display:none;" id="newCartHoverData"> <div class="other_cost_wrapper" style="width: 100%"> {% IF cart_count_empty %} <p id="cart_block_no_products">Ваша корзина пуста</p> {% ELSE %} <span>Товаров </span> <span class="price" id="cart_block_shipping_cost">{CART_COUNT_TOTAL}</span> <span>на сумму </span> {% ENDIF %} <span class="price" id="cart_block_total" style="text-align: right;">{% IF cart_count_empty %}{% ELSE %}{% FOR cart_sum %}{cart_sum.NOW_WITH_DISCOUNT | money_format}{% ENDFOR %}{% ENDIF %}</span> </div> </div> <p>Сейчас в корзине товаров <strong class="newCartCount"> {% IF cart_count_empty %} <span class="red">0</span> шт. {% ELSE %} {% FOR cart_count %} {cart_count.COUNT}{cart_count.MEASURE_NAME}{% IFNOT cart_count.last %},{% ENDIF %} {% ENDFOR %} {% ENDIF %} </strong> на сумму <strong class="newCartSum"> {% IF cart_count_empty %} <span class="red">0</span> {CURRENCY_NAME} {% ELSE %} {% FOR cart_sum %} {cart_sum.NOW_WITH_DISCOUNT | money_format}<br /> {% ENDFOR %} {% ENDIF %} </strong> </p> <p>Вы можете перейти к оформлению заказа или продолжить покупки.</p> <p> <button type="button" title="Перейти в корзину" class="btn btn-success2" onclick="document.location='{CART_URL}';return false;"><span><span>Перейти в корзину</span></span></button> <button type="button" title="Перейти в корзину" class="btn btn-success2 nyroModalClose"><span><span>Продолжить покупки</span></span></button> </p> </div> <!-- JS обновление данных корзины --> <script> $('#header_shopping_cart:first').html($('#newCartData').html()); $('#cart_block_other_costs:first').html($('#newCartHoverData').html()); </script> <!-- end Блок для обновления данных корзины. Не виден пользователю -->
Редактируем шаблон Товары
Находим (~ 229 строка)
<div class="product_list_add_to_cart"> <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListItemCatalogueAddToCartButton product-form-{goods.MIN_PRICE_NOW_ID}"> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" /> <!--a class="ajax_add_to_cart_button add_to_cart_ph" onclick="$('.product-form-{goods.MIN_PRICE_NOW_ID}').attr('rel', 'quick').submit();return false;" title="Быстро оформить заказ">Добавить в корзину</a--> <a class="ajax_add_to_cart_button add_to_cart_ph" onclick="quickorder('.product-form-{goods.MIN_PRICE_NOW_ID}');return false;" title="Быстрый заказ">Быстрый заказ</a> </form> </div>
Заменяем на
<div class="product_list_add_to_cart"> <form action="{CART_ADD_GOODS_MODIFICATION_URL | url_amp}" method="post" class="goodsListItemCatalogueAddToCartButton product-form-{goods.MIN_PRICE_NOW_ID}"> <input type="hidden" name="hash" value="{HASH}" /> <input type="hidden" name="form[goods_from]" value="{goods.GOODS_FROM}" /> <input type="hidden" name="form[goods_mod_id]" value="{goods.MIN_PRICE_NOW_ID}" /> <a class="ajax_add_to_cart_button add_to_cart_ph" onclick="addCart('.product-form-{goods.MIN_PRICE_NOW_ID}'); return false;" title="Быстро оформить заказ">Добавить в корзину</a> <!-- <a class="ajax_add_to_cart_button add_to_cart_ph" onclick="quickorder('.product-form-{goods.MIN_PRICE_NOW_ID}');return false;" title="Быстрый заказ">Быстрый заказ</a> --> </form> </div>