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


Город Доставки И Способ Доставки


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

#1 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 09 Март 2014 - 14:03

Здравствуйте!

При оформлении заказа шаг 2 из 4

Как сделать следующее:

1)Блок  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"  поместить под блоком "УКАЖИТЕ АДРЕС ДОСТАВКИ"
Проще говоря поменять их местами

2)В поле "город" (у меня называется "Населённый пункт")  сделать 3 варианта выпадающим списком - Москва, Санкт-Петербург,  и "укажите Ваш населённый пункт"   с возможностью вписать название при выборе варианта "укажите Ваш населённый пункт"

3)    а) При написании "Санкт-Петербург"  -  в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Курьером по Санкт-Петербургу
-Самовывоз по Санкт-Петербургу
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Санкт-Петербургу ПО ПРЕДОПЛАТЕ
-Самовывоз по Санкт-Петербургу ПО ПРЕДОПЛАТЕ

б) При написании "Москва"   - в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Курьером по Москве
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Москве ПО ПРЕДОПЛАТЕ

в) При написании любого населённого пункта   - в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Почтой по России ПО ПРЕДОПЛАТЕ

#2 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 12 Март 2014 - 17:28

Уважаемая администрация, ау!

#3 Castiel

Castiel

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

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

Отправлено 12 Март 2014 - 18:02

Просмотр сообщенияsandra.005@mail.ru (09 Март 2014 - 14:03) писал:

Здравствуйте!

При оформлении заказа шаг 2 из 4

Как сделать следующее:

1)Блок  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"  поместить под блоком "УКАЖИТЕ АДРЕС ДОСТАВКИ"
Проще говоря поменять их местами

2)В поле "город" (у меня называется "Населённый пункт")  сделать 3 варианта выпадающим списком - Москва, Санкт-Петербург,  и "укажите Ваш населённый пункт"   с возможностью вписать название при выборе варианта "укажите Ваш населённый пункт"

3)    а) При написании "Санкт-Петербург"  -  в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Курьером по Санкт-Петербургу
-Самовывоз по Санкт-Петербургу
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Санкт-Петербургу ПО ПРЕДОПЛАТЕ
-Самовывоз по Санкт-Петербургу ПО ПРЕДОПЛАТЕ

б) При написании "Москва"   - в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Курьером по Москве
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Москве ПО ПРЕДОПЛАТЕ

в) При написании любого населённого пункта   - в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Почтой по России ПО ПРЕДОПЛАТЕ

Здравствуйте.

2. Можно использовать пункт Страна как Города списком.
Заходим в бекофис Настройки - Страны, добавляем 3 любых страны, затем изменяем их название на Москва, Санкт-Петербург,  и "укажите Ваш населённый пункт"
Или воспользуйтесь данной инструкцией.

1. Редактируем шаблон  Оформление заказа
Находим и вырезаем
		  <h3>Выберите удобный для вас способ доставки</h3>
		  <div class="orderInfo">
		 
			<table class="orderStageDeliveryListTable">
			  {% FOR order_delivery %}
				<tbody rel="{order_delivery.ID}">
				  <tr>
					<td class="cell1" rowspan="2">
					  <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio"
   
						{% IFNOT ORDER_FORM_DELIVERY_ID %}
						  {% IF order_delivery.first %}
							checked="checked"
						  {% ENDIF %}
						{% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
						  checked="checked"
						{% ENDIF %}
					  />
					</td>
					<td class="cell2">
					  <label for="deliveryId{order_delivery.ID}">{order_delivery.NAME}</label>
					</td>
					<td rowspan="2" class="cell3 num">
					  + <span class="orderStageDeliveryDefaultPrice" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
					  <span class="orderStageDeliveryZonePrice" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
					</td>
				  </tr>
				  <tr>
					<td class="cell4">{order_delivery.DESC}</td>
				  </tr>
				  {% IFNOT order_delivery.zone_list_empty %}
					{% FOR zone_list %}
					<tr>
					  <td></td>
					  <td class="cell5">
					   
						<!-- Заголовок внутри метода доставки, появляется только один раз--> 
						{% IF order_delivery.zone_list.index=1 %}
						  <label class="orderStageDeliveryZoneHeader" for="deliveryId{order_delivery.ID}">Зоны доставки</label>
						{% ENDIF %}
					   
						<input
						  type="radio"
						  class="deliveryZoneRadio"
						  deliveryid="{order_delivery.ID}"
						  id="deliveryZoneId{order_delivery.zone_list.ID}"
						  name="form[delivery][zone_id]"
						  value="{order_delivery.zone_list.ID}"
						  {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}
							checked="checked" rel="true"
						  {% ENDIF %}
						/>
						<label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}">
						  {order_delivery.zone_list.NAME}
						  <span class="deliveryZonePrice">{order_delivery.zone_list.END_PRICE | money_format}</span>
						</label>
					  </td>
   
					</tr>
					{% ENDFOR %}
				  {% ENDIF %}
				</tbody>
			  {% ENDFOR %}
			</table>
			</div>

Вырезанный код вставляем после
			  </table>
			</div>
		  {% ENDIF %}


#4 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 12 Март 2014 - 22:29

Всё получилось, спасибо. Остался главный вопрос:

3)    а) При написании "Санкт-Петербург"  -  в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Курьером по Санкт-Петербургу
-Самовывоз по Санкт-Петербургу
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Санкт-Петербургу ПО ПРЕДОПЛАТЕ
-Самовывоз по Санкт-Петербургу ПО ПРЕДОПЛАТЕ

б) При написании "Москва"   - в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Курьером по Москве
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Москве ПО ПРЕДОПЛАТЕ

в) При написании любого населённого пункта   - в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Почтой по России ПО ПРЕДОПЛАТЕ

#5 Сake

Сake

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

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

Отправлено 13 Март 2014 - 04:45

Вам необходимо использовать зоны доставки. Для каждого отдельного пункта доставки "Санкт-Петербург" или "Москва" создать зоны такие как

-Почтой по России
-Курьером по Москве
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Москве ПО ПРЕДОПЛАТЕ

Зоны добавляются при редактировании/создании варианта доставки в разделе Настройки -> Доставка.

#6 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 13 Март 2014 - 09:10

В этом случае всё равно будут показываться все способы доставки, независимо от выбранного города.
Необходимо чтобы (см выше):
в поле "Страна" (у меня называется "Населённый пункт")  сделано 3 варианта выпадающим списком - Москва, Санкт-Петербург,  и "Ваш населённый пункт"  
При выборе каждого варианта показывались разные способы доставки:
) При написании "Санкт-Петербург"  -  в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Курьером по Санкт-Петербургу
-Самовывоз по Санкт-Петербургу
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Санкт-Петербургу ПО ПРЕДОПЛАТЕ
-Самовывоз по Санкт-Петербургу ПО ПРЕДОПЛАТЕ

б) При написании "Москва"   - в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Курьером по Москве
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Москве ПО ПРЕДОПЛАТЕ

в) При написании любого населённого пункта   - в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Почтой по России ПО ПРЕДОПЛАТЕ

#7 Сake

Сake

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

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

Отправлено 14 Март 2014 - 04:01

В данном случае изменение необходимо для группировки элементов. Вместо 12ти правил необходимо будет только 3, так как все вложенные элементы будут логически сгруппированы на составные блоки. После этого уже можно будет реализовать скрытие и отображение вариантов в зависимости от населенного пункта.

#8 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 14 Март 2014 - 07:22

Хорошо, но необходим чтобы к способам доставки по предоплате были привязаны одни способы оплаты, а к способам доставки с оплатой при получении - другие способы доставки. Как  я понимаю, к разным зонам в пределах одного способа доставки нет возможности привязать разные способы оплаты.

#9 MikDark

MikDark

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

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

Отправлено 14 Март 2014 - 07:27

Просмотр сообщенияsandra.005@mail.ru (14 Март 2014 - 07:22) писал:

Хорошо, но необходим чтобы к способам доставки по предоплате были привязаны одни способы оплаты, а к способам доставки с оплатой при получении - другие способы доставки. Как  я понимаю, к разным зонам в пределах одного способа доставки нет возможности привязать разные способы оплаты.

Да, возможности нет. Можно только привязать к пункту: Наличными курьеру

#10 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 14 Март 2014 - 10:15

Поэтому способы доставки сгруппировать невозможно

#11 support 2.0

support 2.0

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

  • Модераторы
  • 4 950 сообщений

Отправлено 14 Март 2014 - 20:10

Просмотр сообщенияsandra.005@mail.ru (14 Март 2014 - 07:22) писал:

Хорошо, но необходим чтобы к способам доставки по предоплате были привязаны одни способы оплаты, а к способам доставки с оплатой при получении - другие способы доставки. Как  я понимаю, к разным зонам в пределах одного способа доставки нет возможности привязать разные способы оплаты.
Вы можете создать в разделе настройки -> оплата -> нужную оплату и внизу поставить галочки в каких способах доставки будет работать данная оплата. Тоже самое можно сделать и наоборот для доставки. Вам, я так поняла, именно это нужно

#12 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 14 Март 2014 - 22:35

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

а) При написании "Санкт-Петербург"  -  в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Курьером по Санкт-Петербургу
-Самовывоз по Санкт-Петербургу
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Санкт-Петербургу ПО ПРЕДОПЛАТЕ
-Самовывоз по Санкт-Петербургу ПО ПРЕДОПЛАТЕ

б) При написании "Москва"   - в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Курьером по Москве
-Почтой по России ПО ПРЕДОПЛАТЕ
-Курьером по Москве ПО ПРЕДОПЛАТЕ

в) При написании любого населённого пункта   - в блоке  "ВЫБЕРИТЕ УДОБНЫЙ ДЛЯ ВАС СПОСОБ ДОСТАВКИ"
показывать только способы
-Почтой по России
-Почтой по России ПО ПРЕДОПЛАТЕ

#13 Сake

Сake

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

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

Отправлено 15 Март 2014 - 00:36

Добавьте в ваш файл main.js следующий код

$(function() {
  $('#deliveryCountry').change(function() {
	var delivery = $('.orderStageDeliveryListTable tbody').show();
	var countryId = $(this).val();
	var map = {
	  '18369': ['157979', '198964', '215498', '215503'],
	  '28945': ['157979', '193226', '193225', '215498', '215501', '215499'],
	  '28946': ['157979', '215498']
	};
	if(countryId in map) {
	  var query = $(map[countryId]).map(function(i, id) {
		return('[rel="' + id + '"]');
	  }).toArray();
	  delivery.filter(':not(' + query.join(',') + ')').hide();
	}
  }).trigger('change');
});


#14 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 15 Март 2014 - 20:35

Добавила, что должно измениться?

#15 support 2.0

support 2.0

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

  • Модераторы
  • 4 950 сообщений

Отправлено 16 Март 2014 - 19:19

Просмотр сообщенияsandra.005@mail.ru (15 Март 2014 - 20:35) писал:

Добавила, что должно измениться?
Не знаю что на счет скриптов, но я Вам предлагаю обойтись стандартными методами (на скриншоте).
Так будет удобней и Вам и Вашим клиентам. Также без скриптов обойтись можно будет

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

  • ScreenShot 1.png


#16 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 16 Март 2014 - 19:28

Из Вашего ответа мне непонятно что должно было измениться .

Изображение на скрин-шоте мне не подходит

1)  непонятно как привязать разные способы оплаты к способу доставки  например "почтой России по предоплате"  и "Почтой по России" - должны обязательно вести к разным способом оплаты, иначе непременно будут выбирать почтой России по предоплате  и наложенный платёж, и мы будем бесконечно это исправлять.
2) У каждого способа доставки должно быть подробное описание, так как покупатели не будут искать подробности в другом разделе. Это очень хорошо проверено на практике и приносит массу проблем. Когда мы сделали подробное описание каждого способа доставки это намного упростило всю работу.

#17 Сake

Сake

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

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

Отправлено 18 Март 2014 - 02:16

Просмотр сообщенияsandra.005@mail.ru (15 Март 2014 - 20:35) писал:

Добавила, что должно измениться?

У вас не корректно вставлен код в файле main.js проверьте правильность вставленного кода или повторите его вставку заменив ранее вставленный код. Ошибка находиться в строке

var query = $(map[countryId]).map(function(i, id) {
	 return(' ');
}).toArray();

данная строка должна была выглядеть так

var query = $(map[countryId]).map(function(i, id) {
	return('[rel="' + id + '"]');
}).toArray();


#18 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 18 Март 2014 - 09:09

Исправила, пока изменений не вижу.

#19 Сake

Сake

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

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

Отправлено 18 Март 2014 - 23:51

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

#20 sandra.005@mail.ru

sandra.005@mail.ru

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

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

Отправлено 19 Март 2014 - 17:48

Извините за невнимательность.  Всё получилось, отлично!  Большое спасибо.




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

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