Перейти к содержимому


Добавление Товара В Корзину Без Модального Окна И Перехода В Корзину


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 Castiel

Castiel

    Активный участник

  • Модераторы
  • 3 519 сообщений
  • ГородНижний Новгород

Отправлено 17 Декабрь 2013 - 19:28

Добавление товара в корзину без модального окна и перехода в корзину для шаблона Осень.

Добавляем функцию в конец  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>&nbsp;&nbsp;&nbsp;&nbsp;
   <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>





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных