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


Оформление Заказа


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

#1 Android

Android

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

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

Отправлено 19 Июнь 2013 - 21:54

В магазине есть два вида доставки - по Москве и по России. Логично, что при доставке по Москве почтовый индекс заказчика нас не интересует зато интересует ближайшая станция метро, а при доставке по России нас наоборот не интересует станция метро но интересует почтовый индекс. Как бы реализовать, что бы при выборе нужного способа доставки появлялись актуальные именно для этого способа поля для заполнения?

#2 sVs

sVs

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

  • Пользователи
  • PipPipPipPip
  • 232 сообщений
  • ГородМосква

Отправлено 19 Июнь 2013 - 21:59

Просмотр сообщенияAndroid (19 Июнь 2013 - 21:54) писал:

В магазине есть два вида доставки - по Москве и по России. Логично, что при доставке по Москве почтовый индекс заказчика нас не интересует зато интересует ближайшая станция метро, а при доставке по России нас наоборот не интересует станция метро но интересует почтовый индекс. Как бы реализовать, что бы при выборе нужного способа доставки появлялись актуальные именно для этого способа поля для заполнения?
да, очень интересно узнать

#3 Vaccina

Vaccina

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

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

Отправлено 20 Июнь 2013 - 01:25

К сожалению, это реализовать нельзя. Вы можете оставить ваше предложение о реализации тут http://storeland.reformal.ru

#4 ogonek7777

ogonek7777

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

  • Пользователи
  • PipPipPipPip
  • 2 109 сообщений
  • ГородМосква

Отправлено 20 Июнь 2013 - 11:01

Возможно, это можно реализовать через геотаргетинг, пыталась обернуть часть таблиц <td>...</td> в код, чтобы не показывать индекс москвичам и часы доставки иногородним, но не сработало(((. А вот просто надписи по данному коду очень даже скрываются. Может быть все-таки можно его доработать для таблиц?

#5 Android

Android

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

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

Отправлено 20 Июнь 2013 - 13:54

А если применить немного другой метод, человек сначала выбирает доставку по Мск или России, нажимает дальше и попадает на страницу где строки актуальные только для его региона.

#6 Vaccina

Vaccina

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

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

Отправлено 21 Июнь 2013 - 02:58

Можно попробовать. Если использовать код http://forum.storela...инг/#entry21260 и заменить его на

<script type="text/javascript" src="http://api-maps.yandex.ru/1.1/index.xml?key=ВАШ_КЛЮЧ"></script>
<script type="text/javascript">
$(document).ready(function() {
  $('.YMaps').hide();
if ( !YMaps.location )
  $(".unknown").show();
else if (YMaps.location.city == 'Санкт-Петербург')
  $(".piter").show();
else if (YMaps.location.city == 'Москва')
  $(".mosc").show();
else
  $(".unknown").show();
});
</script>

т.е в данном случае можно использовать классы. Добавить необходимый класс элементу вида

<div class="YMaps mosc">Содержимое для Москвы</div>

Цитата

индекс москвичам и часы доставки иногородним

Сообщите по подробнее о каком блоке идет речь, чтобы понять где прописать подобный класс.

#7 ogonek7777

ogonek7777

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

  • Пользователи
  • PipPipPipPip
  • 2 109 сообщений
  • ГородМосква

Отправлено 23 Июнь 2013 - 23:29

В Оформлении заказа
- в Москве скрыть поле индекса
- в остальных регионах скрыть Удобное время доставки
{% IF SETTINGS_ISSET_ORDER_FIELDS %}
		 <h2>Укажите адрес доставки</h2>
		 <div class="orderInfo">
			 <table class="orderInfoDeliveryAddress">
			
			 <!-- Если поле страны доставки запрашивается -->
			 {% IF SETTINGS_ORDER_FIELDS_COUNTRY<3 %}
				 {% IFNOT country_list_empty %}
				 <tr>
					 <td width="10%">
					 <label for="deliveryCountry">Страна:{% IF SETTINGS_ORDER_FIELDS_COUNTRY=1 %}<span class="red">*</span>{% ENDIF %}</label>
					 </td>
					 <td width="90%">
					 <select id="deliveryCountry" name="form[delivery][country_id]" {% IF SETTINGS_ORDER_FIELDS_COUNTRY=1 %}class="required"{% ENDIF %}>
						 {% FOR country_list %}
						 <option value="{country_list.ID}" {% IF country_list.ID=ORDER_FORM_DELIVERY_COUNTRY_ID %}selected="selected"{% ENDIF %}>
							 {country_list.NAME}
						 </option>
						 {% ENDFOR %}
					 </select>
					 </td>
				 </tr>
				 {% ENDIF %}
			 {% ENDIF %}
			
			 <!-- Если поле почтового индекса запрашивается -->
			 {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE<3 %}
				 <tr>
				 <td width="10%">
					 <label for="deliveryZipCode">Почтовый индекс:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label><div style="color:#666">(по Москве не требуется)</div>
				 </td>
				 <td width="90%">
					 <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="6" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" />
				 </td>
				 </tr>
			 {% ENDIF %}
			
			 <!-- Если поле области запрашивается -->
			 {% IF SETTINGS_ORDER_FIELDS_REGION<3 %}
				 <tr>
				 <td width="10%">
					 <label for="deliveryRegion">Область:{% IF SETTINGS_ORDER_FIELDS_REGION=1 %}<span class="red">*</span>{% ENDIF %}</label>
					 <div style="color:#666">(по Москве не требуется)</div>
				 </td>
				 <td width="90%">
					 <input id="deliveryRegion" name="form[delivery][region]" value="{ORDER_FORM_DELIVERY_REGION}"
					 {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}class="required"{% ENDIF %} />
				 </td>
				 </tr>
			 {% ENDIF %}
			
			 <!-- Если поле города запрашивается -->
			 {% IF SETTINGS_ORDER_FIELDS_CITY<3 %}
				 <tr>
				 <td width="10%">
					 <label for="deliveryCity">Город:{% IF SETTINGS_ORDER_FIELDS_CITY=1 %}<span class="red">*</span>{% ENDIF %}</label>
				 </td>
				 <td width="90%">
					 <input id="deliveryCity" name="form[delivery][city]" value="{ORDER_FORM_DELIVERY_CITY}"
					 {% IF SETTINGS_ORDER_FIELDS_CITY=1 %}class="required"{% ENDIF %} />
				 </tr>
			 {% ENDIF %}
			
			 <!-- Если поле адреса доставки запрашивается -->
			 {% IF SETTINGS_ORDER_FIELDS_ADDRESS<3 %}
				 <tr>
				 <td width="10%">
					 <label for="deliveryAddress">Адрес:{% IF SETTINGS_ORDER_FIELDS_ADDRESS=1 %}<span class="red">*</span>{% ENDIF %}</label>
					 <div style="color:#666">(если доставка курьером, <br><u>подробно</u> опишите путь от метро) </div>
				 </td>
				 <td width="90%">
					 <textarea id="deliveryAddress" name="form[delivery][address]" {% IF SETTINGS_ORDER_FIELDS_ADDRESS=1 %}class="required"{% ENDIF %}>{ORDER_FORM_DELIVERY_ADDRESS}</textarea>
				 </td>
				 </tr>
			 {% ENDIF %}
				
			 <!-- Если запрашивается поле удобного времени доставки -->
			 {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME<3 %}
				 <tr>
				 <td width="10%">
					 <label for="deliveryConvenientDate">Удобное время доставки:{% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}
					 <span class="red">*</span>{% ENDIF %} </label>
					 <div style="color:#666">(только для Москвы)</div>
				 </td>
				 <td width="90%">
					 <!-- <input id="deliveryConvenientDate" name="form[delivery][convenient_date]" value="{ORDER_FORM_DELIVERY_CONVENIENT_DATE}"
					 {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME=1 %}class="required"{% ENDIF %} />-->
					 c <select name="form[delivery][convenient_time_from]">
<option></option>
{% FOR convenient_time_from_list %}
{%IF convenient_time_from_list.HOUR_INT>13%}{%IF convenient_time_from_list.HOUR_INT<22%}
<option value="{convenient_time_from_list.HOUR_INT}" {% IF convenient_time_from_list.SELECTED %}selected="selected"{% ENDIF %}>
{convenient_time_from_list.HOUR}</option>
{%ENDIF%}{%ENDIF%}
{% ENDFOR %}
</select>
до
<select name="form[delivery][convenient_time_to]">
<option></option>
{% FOR convenient_time_to_list %}
{%IF convenient_time_to_list.HOUR_INT>13%}{%IF convenient_time_to_list.HOUR_INT<22%}
<option value="{convenient_time_to_list.HOUR_INT}" {% IF convenient_time_to_list.SELECTED %}selected="selected"{% ENDIF %}>
{convenient_time_to_list.HOUR}</option>
{%ENDIF%}{%ENDIF%}
{% ENDFOR %}
</select>
				 </td>
				 </tr>
			 {% ENDIF %}
			 


#8 Vaccina

Vaccina

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

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

Отправлено 25 Июнь 2013 - 04:14

Попробуйте использовать код

<script type="text/javascript" src="http://api-maps.yandex.ru/1.1/index.xml?key=ВАШ_КЛЮЧ"></script>
<script type="text/javascript">
$(document).ready(function() {
  $('.YMaps').hide();
if ( !YMaps.location )
  $(".unknown").show();
else if (YMaps.location.city == 'Санкт-Петербург')
  $(".piter").show();
  $(".piter-hide").show();
else if (YMaps.location.city == 'Москва')
  $(".mosc").show();
  $(".mosc-hide").show();
else
  $(".unknown").show();
});
</script>

далее в вашем шаблоне найти

<td width="10%">
	<label for="deliveryZipCode">Почтовый индекс:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label><div style="color:#666">(по Москве не требуется)</div>
</td>

и заменить на
<td width="10%" class="mosc-hide">
	<label for="deliveryZipCode">Почтовый индекс:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label><div style="color:#666">(по Москве не требуется)</div>
</td>

далее найдите
<!-- Если запрашивается поле удобного времени доставки -->
						 {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME<3 %}
								 <tr>

и замените на

<!-- Если запрашивается поле удобного времени доставки -->
						 {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME<3 %}
								 <tr class="YMaps mosc">


#9 ogonek7777

ogonek7777

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

  • Пользователи
  • PipPipPipPip
  • 2 109 сообщений
  • ГородМосква

Отправлено 26 Июнь 2013 - 18:17

Просмотр сообщенияVaccina (25 Июнь 2013 - 04:14) писал:

Попробуйте использовать код

<script type="text/javascript" src="http://api-maps.yandex.ru/1.1/index.xml?key=ВАШ_КЛЮЧ"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.YMaps').hide();
if ( !YMaps.location )
$(".unknown").show();
else if (YMaps.location.city == 'Санкт-Петербург')
$(".piter").show();
$(".piter-hide").show();
else if (YMaps.location.city == 'Москва')
$(".mosc").show();
$(".mosc-hide").show();
else
$(".unknown").show();
});
</script>

далее в вашем шаблоне найти

<td width="10%">
<label for="deliveryZipCode">Почтовый индекс:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label><div style="color:#666">(по Москве не требуется)</div>
</td>

и заменить на
<td width="10%" class="mosc-hide">
<label for="deliveryZipCode">Почтовый индекс:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label><div style="color:#666">(по Москве не требуется)</div>
</td>

далее найдите
<!-- Если запрашивается поле удобного времени доставки -->
						 {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME<3 %}
								 <tr>

и замените на

<!-- Если запрашивается поле удобного времени доставки -->
						 {% IF SETTINGS_ORDER_FIELDS_CONVENIENT_TIME<3 %}
								 <tr class="YMaps mosc">
Не работает, первый скрипт сейчас размещен в HTML, но и в Оформлении заказа не работает(((
Сайт

#10 Taisia

Taisia

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

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

Отправлено 26 Июнь 2013 - 22:24

найдите строку в вашем коде

<td width="90%">
										 <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="6" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" />

и замените ее на строку

<td width="90%" class="mosc-hide">
										 <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="6" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" />


далее у вас не прописаны в файле стилей классы .mosc и .mosc-hide
поэтому фактически ничего и не происходит
добавьте эти стили

#11 ogonek7777

ogonek7777

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

  • Пользователи
  • PipPipPipPip
  • 2 109 сообщений
  • ГородМосква

Отправлено 27 Июнь 2013 - 17:01

Просмотр сообщенияTaisia (26 Июнь 2013 - 22:24) писал:

найдите строку в вашем коде

<td width="90%">
										 <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="6" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" />

и замените ее на строку

<td width="90%" class="mosc-hide">
										 <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="6" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" />


далее у вас не прописаны в файле стилей классы .mosc и .mosc-hide
поэтому фактически ничего и не происходит
добавьте эти стили
Прописала.
Не понимаю, зачем стили? Они ведь только оформление дают. А вот где скрипт вставить - это вопрос, так как геотаргетинг используется и на других страницах. Раньше он у меня был на странице Товар, а ключ - в HTML.

#12 Сake

Сake

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

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

Отправлено 28 Июнь 2013 - 03:10

В коде js есть небольшая опечатка. Замените

$(".mosc").show();
$(".mosc-hide").show();

на

$(".mosc").show();
$(".mosc-hide").hide();

так же в вашем шаблоне "Оформление заказа" найдите


<tr>
								 <td width="10%" class="mosc-hide">
										 <label for="deliveryZipCode">Почтовый индекс:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label><div style="color:#666">(по Москве не требуется)</div>
								 </td>
								 <td width="90%">
										 <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="6" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" />
								 </td>
								 </tr>

и замените на

<tr class="mosc-hide">
								 <td width="10%">
										 <label for="deliveryZipCode">Почтовый индекс:{% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}<span class="red">*</span>{% ENDIF %}</label><div style="color:#666">(по Москве не требуется)</div>
								 </td>
								 <td width="90%">
										 <input id="deliveryZipCode" name="form[delivery][zip_code]" value="{ORDER_FORM_DELIVERY_ZIP_CODE}" minlength="6" maxlength="6" class="digits {% IF SETTINGS_ORDER_FIELDS_ZIP_CODE=1 %}required{% ENDIF %}" />
								 </td>
								 </tr>

далее найдите

<tr>
								 <td width="10%">
										 <label for="deliveryRegion">Область:{% IF SETTINGS_ORDER_FIELDS_REGION=1 %}<span class="red">*</span>{% ENDIF %}</label>
										 <div style="color:#666">(по Москве не требуется)</div>
								 </td>
								 <td width="90%">
										 <input id="deliveryRegion" name="form[delivery][region]" value="{ORDER_FORM_DELIVERY_REGION}"
										 {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}class="required"{% ENDIF %} />
								 </td>
								 </tr>

и замените на

<tr class="mosc-hide">
								 <td width="10%">
										 <label for="deliveryRegion">Область:{% IF SETTINGS_ORDER_FIELDS_REGION=1 %}<span class="red">*</span>{% ENDIF %}</label>
										 <div style="color:#666">(по Москве не требуется)</div>
								 </td>
								 <td width="90%">
										 <input id="deliveryRegion" name="form[delivery][region]" value="{ORDER_FORM_DELIVERY_REGION}"
										 {% IF SETTINGS_ORDER_FIELDS_REGION=1 %}class="required"{% ENDIF %} />
								 </td>
								 </tr>





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

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