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


Быстрый Заказ Со Страницы Корзины


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 polosatoff

polosatoff

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 71 сообщений

Отправлено 12 Май 2014 - 01:19

Привет, господа!

Почти всегда на этом полезном форуме удается найти ответы на нужные вопросы =) но в этот раз не смог.

1. Мне нужно чтобы при нажатии кнопки "Оформить заказ" в корзине открывалась форма быстрого заказа. Она у меня уже налажена, но кнопка работает только на шаблоне(куске шаблона) "Товар"
2. Нужно,  чтобы при нажатии на кнопку "Оформить заказ" в окне быстрого заказа, Я.Метрика считала это достижением цели. Я на всякий случай спрашиваю. Понимаю, что это сторонний сервис. Но все-таки. При посещении страницы  ***/confirm я.метрика считает заказ подтвержденным. Это легко настроить. А вот как из формы быстрого заказа считать успешные оформления - непонятно)

Спасибо.

Прикрепленные изображения

  • 2014-05-12 01-51-51 Скриншот экрана.png


#2 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 13 Май 2014 - 06:03

1. Добавьте в конец вашего шаблона "Корзина" следующий код

<form action="/cart/add" id="order-stage">
  <input type="hidden" name="hash" value="{HASH}" />
</form>

после этого добавьте в файл main.js код

$(function() {
  $('.cartForm').submit(function() {
	 quickorder('#order-stage');
	 return(false);
  });
});

2. Решение данного вопроса находиться в теме форума http://forum.storela...-яндексметрика/

#3 Sleem

Sleem

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений

Отправлено 28 Май 2014 - 20:23

Просмотр сообщенияСake (13 Май 2014 - 06:03) писал:

1. Добавьте в конец вашего шаблона "Корзина" следующий код

<form action="/cart/add" id="order-stage">
<input type="hidden" name="hash" value="{HASH}" />
</form>

после этого добавьте в файл main.js код

$(function() {
$('.cartForm').submit(function() {
	 quickorder('#order-stage');
	 return(false);
});
});
После выполнения действий ничего не изменилось, кэш чистил.
Предварительно быстрый заказ был установлен в карточку товара, но требуется чтобы он был в корзине.

P.S. внесенные изменения удалил

Шаблон "Пластик" аккаунт SL-286869

#4 User

User

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 107 сообщений

Отправлено 28 Май 2014 - 20:43

Кстати, обнаружил в корзине, что если в ней имеется несколько товаров, и одному из них поставить кол-во=0, то строка с этим товаром исчезнет, но сумма заказа при этом не меняется, что выглядит несколько странно. При удалении товара крестиком "удалить" - все нормально, корзина сама обновляется, сумма пересчитывается.

#5 MikDark

MikDark

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

  • Модераторы
  • 6 468 сообщений

Отправлено 28 Май 2014 - 20:57

Просмотр сообщенияUser (28 Май 2014 - 20:43) писал:

Кстати, обнаружил в корзине, что если в ней имеется несколько товаров, и одному из них поставить кол-во=0, то строка с этим товаром исчезнет, но сумма заказа при этом не меняется, что выглядит несколько странно. При удалении товара крестиком "удалить" - все нормально, корзина сама обновляется, сумма пересчитывается.

На сколько вижу, на последнем шаге сумма все же меняется. А в самой корзине такое технически нельзя сделать.

#6 User

User

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 107 сообщений

Отправлено 28 Май 2014 - 21:38

Почему ж нельзя, сумма обновляется при сабмите формы штатной кнопкой "пересчитать", и при удалении строки крестиком.

#7 MikDark

MikDark

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

  • Модераторы
  • 6 468 сообщений

Отправлено 28 Май 2014 - 21:43

Просмотр сообщенияUser (28 Май 2014 - 21:38) писал:

Почему ж нельзя, сумма обновляется при сабмите формы штатной кнопкой "пересчитать", и при удалении строки крестиком.

При сабмите обновляется, а без нажатия сделать не получится.

#8 Сake

Сake

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

  • Модератоpы
  • 5 979 сообщений

Отправлено 29 Май 2014 - 02:23

Просмотр сообщенияSleem (28 Май 2014 - 20:23) писал:

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

P.S. внесенные изменения удалил

Шаблон "Пластик" аккаунт SL-286869

Для шаблона "Пластик" дополнительно понадобиться в шаблоне "Корзина" найти строку

<form action="{CART_URL}" method="post">

и заменить её на

<form action="{CART_URL}" method="post" class="cartForm">

Просмотр сообщенияUser (28 Май 2014 - 20:43) писал:

Кстати, обнаружил в корзине, что если в ней имеется несколько товаров, и одному из них поставить кол-во=0, то строка с этим товаром исчезнет, но сумма заказа при этом не меняется, что выглядит несколько странно. При удалении товара крестиком "удалить" - все нормально, корзина сама обновляется, сумма пересчитывается.

Данная проблема является ошибкой, при которой сумма корзины высчитывается до обновления числа товаров в корзине. Информация будет передана разработчикам.

#9 support

support

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

  • Модераторы
  • 3 686 сообщений
  • ГородМосква

Отправлено 09 Июль 2014 - 17:48

Просмотр сообщенияСake (29 Май 2014 - 02:23) писал:

Для шаблона "Пластик" дополнительно понадобиться в шаблоне "Корзина" найти строку

<form action="{CART_URL}" method="post">

и заменить её на

<form action="{CART_URL}" method="post" class="cartForm">



Данная проблема является ошибкой, при которой сумма корзины высчитывается до обновления числа товаров в корзине. Информация будет передана разработчикам.
С такой логикой создавался этот шаблон, обновления корзины без обновления страницы у нас зашито сейчас только в одном шаблоне "Движение", если есть необходимость, можно на javascript-е написать автоматический submit формы корзины, в случае изменения количества товара, например добавив такой скрипт в конец шаблона "Корзина":
<script type="text/javascript">
$(document).ready(function(){
submitIfFormChange = function() {
  // Отменяем выполнение последнего запущенного через таймаут скрипта, если таковой был.
  if(typeof(document.cartAutosubmitFormLastTimeoutId) != 'undefined') {
	clearTimeout(document.cartAutosubmitFormLastTimeoutId);
  }
  document.cartAutosubmitFormLastTimeoutId = setTimeout("$('form.cartForm').submit();", 300);
}
$('form.cartForm input.inputText').bind('keyup', submitIfFormChange);
});
</script>

либо вставив этот же код, но без тегов </script> в файл main.js. В этом случае в конце файла main.js добавляется только вот этот код:
$(document).ready(function(){
submitIfFormChange = function() {
  // Отменяем выполнение последнего запущенного через таймаут скрипта, если таковой был.
  if(typeof(document.cartAutosubmitFormLastTimeoutId) != 'undefined') {
	clearTimeout(document.cartAutosubmitFormLastTimeoutId);
  }
  document.cartAutosubmitFormLastTimeoutId = setTimeout("$('form.cartForm').submit();", 300);
}
$('form.cartForm input.inputText').bind('keyup', submitIfFormChange);
});


#10 User

User

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 107 сообщений

Отправлено 10 Июль 2014 - 21:43

я к input-у количества просто поставил onChange="this.form.submit();"




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

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