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


Организация Процесса Заказа Товара

заказ корзина покупка оформление товар доставка регион страна оплата

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

#1 linaga

linaga

    Новичок

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

Отправлено 19 Февраль 2013 - 09:13

Добрый день!
Необходимо в интернет-магазине организовать процесс оформления покупки таким образом, чтобы полностью исключить возможность ошибки (преднамеренной или случайной).
Для этого нужно:
1. На 2 шаге оформления заказа при выборе способа доставки  автоматически менять форму для заполнения адресов. Например, человек выбрал сразу "Самовывоз", соответственно ему не нужно вводить информацию в поля с адресом (а т.к. они почти все обязательные, то соответсвенно, пользователь будет думать что же туда написать). Также при выборе доставки по России чтобы не было возможности выбора другой страны.
2. В зависимости от выбранного способа и места доставки меняются варианты оплаты (например, при почтовой доставке должна исчезать возможность выбора оплаты "Наличными курьеру"

Подскажите, возможно ли это реализовать?

адрес магазина: www.owl-card.com

#2 Vaccina

Vaccina

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

  • Модераторы
  • 24 353 сообщений

Отправлено 20 Февраль 2013 - 07:48

1) Можно попробовать в файл main.js(самый конец файла) вставить

$(function() {
	if($('.order').length) {
		var id = 'deliveryId101600';
  $('.deliveryRadio').each(function() {
	  if($(this).attr('checked') && $(this).attr('id') == id) {
	   $(this).trigger('click');
   }
  });
  $('.deliveryRadio').click(function() {
	  if($(this).attr('checked') && $(this).attr('id') == id) {
	   $('.order .headline').hide();
	$('.order .privat.padd #deliveryCountry').closest('tr').hide();
	$('.order .privat.padd #deliveryZipCode').closest('tr').hide();
	$('.order .privat.padd #deliveryRegion').val('null').closest('tr').hide();
	$('.order .privat.padd #deliveryCity').val('null').closest('tr').hide();
	$('.order .privat.padd #deliveryAddress').val('null').closest('tr').hide();
	$('.order .privat.padd #deliveryConvenientDate').closest('tr').hide();
	$('.order .privat.padd #deliveryConvenientDate').val('00.00.0000');
	$('.order .privat.padd select[name="form[delivery][convenient_time_from]"] option:eq(0)').attr('selected', 'selected');
	$('.order .privat.padd select[name="form[delivery][convenient_time_to]"] option:eq(0)').attr('selected', 'selected');
   }
   else {
	   $('.order .headline').show();
	$('.order .privat.padd #deliveryCountry').closest('tr').show();
	$('.order .privat.padd #deliveryZipCode').closest('tr').show();
	$('.order .privat.padd #deliveryRegion').val('').closest('tr').show();
	$('.order .privat.padd #deliveryCity').val('').closest('tr').show();
	$('.order .privat.padd #deliveryAddress').val('').closest('tr').show();
	$('.order .privat.padd #deliveryConvenientDate').closest('tr').show();
	$('.order .privat.padd #deliveryConvenientDate').val('');
	$('.order .privat.padd select[name="form[delivery][convenient_time_from]"] option').removeAttr('selected', 'selected');
	$('.order .privat.padd select[name="form[delivery][convenient_time_to]"] option').removeAttr('selected', 'selected');
   }
  });
	}
});

var id = 'deliveryId101600'; это идентификатор доставки самовывоза, который необходимо изменить на свой идентификатор. В данный момент идентификатор уже прописан ваш.

2) Привязать оплату к доставки вы можете в разделе Настройки -> Оплата -> Привязка к способам доставки

#3 linaga

linaga

    Новичок

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

Отправлено 20 Февраль 2013 - 11:23

Просмотр сообщенияVaccina (20 Февраль 2013 - 07:48) писал:

1) Можно попробовать в файл main.js(самый конец файла) вставить

$(function() {
if($('.order').length) {
	 var id = 'deliveryId101600';
$('.deliveryRadio').each(function() {
	 if($(this).attr('checked') && $(this).attr('id') == id) {
	 $(this).trigger('click');
}
});
$('.deliveryRadio').click(function() {
	 if($(this).attr('checked') && $(this).attr('id') == id) {
	 $('.order .headline').hide();
$('.order .privat.padd #deliveryCountry').closest('tr').hide();
$('.order .privat.padd #deliveryZipCode').closest('tr').hide();
$('.order .privat.padd #deliveryRegion').val('null').closest('tr').hide();
$('.order .privat.padd #deliveryCity').val('null').closest('tr').hide();
$('.order .privat.padd #deliveryAddress').val('null').closest('tr').hide();
$('.order .privat.padd #deliveryConvenientDate').closest('tr').hide();
$('.order .privat.padd #deliveryConvenientDate').val('00.00.0000');
$('.order .privat.padd select[name="form[delivery][convenient_time_from]"] option:eq(0)').attr('selected', 'selected');
$('.order .privat.padd select[name="form[delivery][convenient_time_to]"] option:eq(0)').attr('selected', 'selected');
}
else {
	 $('.order .headline').show();
$('.order .privat.padd #deliveryCountry').closest('tr').show();
$('.order .privat.padd #deliveryZipCode').closest('tr').show();
$('.order .privat.padd #deliveryRegion').val('').closest('tr').show();
$('.order .privat.padd #deliveryCity').val('').closest('tr').show();
$('.order .privat.padd #deliveryAddress').val('').closest('tr').show();
$('.order .privat.padd #deliveryConvenientDate').closest('tr').show();
$('.order .privat.padd #deliveryConvenientDate').val('');
$('.order .privat.padd select[name="form[delivery][convenient_time_from]"] option').removeAttr('selected', 'selected');
$('.order .privat.padd select[name="form[delivery][convenient_time_to]"] option').removeAttr('selected', 'selected');
}
});
}
});

var id = 'deliveryId101600'; это идентификатор доставки самовывоза, который необходимо изменить на свой идентификатор. В данный момент идентификатор уже прописан ваш.

Это нужно вместо чего-то вставлять или просто в конце? Вставила после всего кода в указанный файл, но ничего не изменилось(

Цитата

2) Привязать оплату к доставки вы можете в разделе Настройки -> Оплата -> Привязка к способам доставки
Спасибо, с этим разобралась)

#4 Vaccina

Vaccina

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

  • Модераторы
  • 24 353 сообщений

Отправлено 21 Февраль 2013 - 02:27

На данный момент код который вам необходимо разместить - отсутствует в вашем файле main.js
Пожалуйста, вставьте его и замените

var id = 'deliveryId101600';

на

var id = 'deliveryId150598';


#5 linaga

linaga

    Новичок

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

Отправлено 21 Февраль 2013 - 06:52

Спасибо, сработало для самовывоза! С остальными видами доставки попробую разобраться сама))

#6 Роман-spigenstore

Роман-spigenstore

    Новичок

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

Отправлено 06 Ноябрь 2013 - 14:23

Сделал как выше указано все, но ничего не получилось. Добавил весь код в файл, прописал свой var id = 'deliveryId232419'; но ничего не происходит. При выборе способа самовывоз, никуда поле с адресом не исчезает

#7 Koderhan

Koderhan

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

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

Отправлено 06 Ноябрь 2013 - 16:07

Просмотр сообщенияРоман-spigenstore (06 Ноябрь 2013 - 14:23) писал:

Сделал как выше указано все, но ничего не получилось. Добавил весь код в файл, прописал свой var id = 'deliveryId232419'; но ничего не происходит. При выборе способа самовывоз, никуда поле с адресом не исчезает
На данный момент поле с адресом при оформление у вас делается не активным после выбора способа доставки "Самовызов".





Темы с аналогичным тегами заказ, корзина, покупка, оформление, товар, доставка, регион, страна, оплата

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

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