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


Полезная Информация Для Повышения Продаж

обновления клиенты

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

#21 support

support

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

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

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

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

Есть предложения для унификации ввода номеров.

А именно, доработать форму ввода телефонного номера при оформлении заказа на сайте самим клиентом. Разбить на окошки, где +7 будет стоять автоматически, плюс еще 2 кошка - для кода номера и второе для оставшейся части.
А ниже указать пример ввода +7 910 0001111

Тогда все номера будут вводится правильно и не надо будет потом вручную за всеми клиентами исправлять правильность ввода номера. А то на своем опыте скажу, что клиенты вводят как им забагорассудиться - и через дефис все цифры и слитно; и с восьмеркой и без; кто-то со скобками и т.п.

Иначе вся ваша затея с автоматической рассылкой - это пшик. Т.к. пока не поправишь номер - ничего не получишь.
Данные как бы их не вводил пользователь с пробелами или без, с тире или без не помешают отправке, смс отлично уходят и на телефоны с восьмёркой и без, но в целом сделать строгий формат на странице оформления заказа не сложно, для этого достаточно в разделе "Сайт" > "Редактор шаблонов" дописать в файле "main.js" в самом конце файла метод проверки телефона, с помощью регулярного выражения, для jQuery Validation Plugin-а примерно такого:
if(typeof(jQuery.validator) != 'undefined') {
  jQuery.validator.addMethod("phone_number", function(value, element) {
	return (this.optional(element) || /^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/i.test(value)) ? true : false;
}, "Укажите корректный телефонный номер");
}

и далее в шаблоне "Оформление заказа" к полю
<input id="contactPhone" name="form[contact][phone]" class="required " value="{ORDER_FORM_CONTACT_PHONE}">
Нужно будет дописать добавленный класс проверки телефона, чтобы получилось так:
<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}">

Ещё более простой метод без использования регулярных выражений, просто дописать минимальную длину для поля: minlength="10", для ещё более жесткой проверки можно ещё добавить класс
digits
, но я бы его не советовал, т.к. он исключает возможность указания скобочек, знаков тире, а также возможности указания буквенных телефонов. Код получается более простой, но тоже работает, хоть и с некоторой погрешностью:
<input id="contactPhone" name="form[contact][phone]" class="required" value="{ORDER_FORM_CONTACT_PHONE}" minlength="10">


#22 Джейн

Джейн

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

  • Пользователи
  • PipPipPipPip
  • 293 сообщений
  • ГородСамара

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

Здравствуйте. Скажите пожалста, мне в поле Отгружен, в сообщении которое отсылается клиенту, нужно убрать  фразу "ожидайте курьера". ЧТоб просто осталось, что заказ отгружен, сумма такая-то. Где изменить этот шаблон?

#23 miyako

miyako

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

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

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

Просмотр сообщенияДжейн (27 Июль 2013 - 11:24) писал:

Здравствуйте. Скажите пожалста, мне в поле Отгружен, в сообщении которое отсылается клиенту, нужно убрать  фразу "ожидайте курьера". ЧТоб просто осталось, что заказ отгружен, сумма такая-то. Где изменить этот шаблон?

Пока что нельзя редактировать шаблон писем

#24 Гость_Наталья C._*

Гость_Наталья C._*
  • Гости

Отправлено 03 Август 2013 - 16:08

Просмотр сообщенияsupport (08 Июнь 2013 - 06:28) писал:

Сегодня добавили в систему полезную информацию о клиенте: отображение информации о среднем чеке, периоде в течение которого он делает покупки, время первого и последнего созданного успешного заказа, что позволит более эффективно работать с базой покупателей магазина, видеть, если человек не делал покупок дольше, чем обычно и принимать в связи с этим определённые меры.

Также доработали удобство работы с заказами созданными из панели управления магазином, добавили возможность отправлять уведомления покупателю о созданном заказе вручную. Например это бывает полезным, когда заказ оформляется не по телефону, а например под заказ. Ссылка появляется лишь в том случае, если клиенту письмо не отправлялось. Например, при оформлении заказа с сайта все уведомления отправляются автоматом и данной ссылки в карточке заказа вы не найдёте. Если же клиент позвонил по телефону - мы вместе с ним оформили заказ, то автоматически письма и SMS-ки не отправлялись, т.к. покупатель и так знает что заказ оформлен :) В этом случае можно отправить ему сообщения в уведомительных целях, чтобы не забыл. Выглядит нововведение так:
Прикрепленный файл order_notification.jpg

Из совсем незаметных обновлений - закрыты несколько ошибок в разделе работы с клиентами, заказами, yml файлами. Добавлены единицы измерения, используемые в основном для сферы услуг (люди, дни, смены)

Подскажите, а почему клиенту не приходит смс, если он сам делает заказ на сайте? Галочка об информировании нового заказа у меня стоит.
И смс приходит только тогда, когда я принимаю заказ по телефону. Хочется, чтобы смс высылалась и в случае самостоятельного заказа на сайте.
Спасибо!

#25 support 2.0

support 2.0

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

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

Отправлено 03 Август 2013 - 18:57

Просмотр сообщенияНаталья C. (03 Август 2013 - 16:08) писал:

Подскажите, а почему клиенту не приходит смс, если он сам делает заказ на сайте? Галочка об информировании нового заказа у меня стоит.
И смс приходит только тогда, когда я принимаю заказ по телефону. Хочется, чтобы смс высылалась и в случае самостоятельного заказа на сайте.
Спасибо!

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

#26 Гость_Наталья C._*

Гость_Наталья C._*
  • Гости

Отправлено 22 Август 2013 - 22:37

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

Данные как бы их не вводил пользователь с пробелами или без, с тире или без не помешают отправке, смс отлично уходят и на телефоны с восьмёркой и без, но в целом сделать строгий формат на странице оформления заказа не сложно, для этого достаточно в разделе "Сайт" > "Редактор шаблонов" дописать в файле "main.js" в самом конце файла метод проверки телефона, с помощью регулярного выражения, для jQuery Validation Plugin-а примерно такого:
if(typeof(jQuery.validator) != 'undefined') {
jQuery.validator.addMethod("phone_number", function(value, element) {
return (this.optional(element) || /^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/i.test(value)) ? true : false;
}, "Укажите корректный телефонный номер");
}

и далее в шаблоне "Оформление заказа" к полю
<input id="contactPhone" name="form[contact][phone]" class="required " value="{ORDER_FORM_CONTACT_PHONE}">
Нужно будет дописать добавленный класс проверки телефона, чтобы получилось так:
<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}">

Ещё более простой метод без использования регулярных выражений, просто дописать минимальную длину для поля: minlength="10", для ещё более жесткой проверки можно ещё добавить класс
digits
, но я бы его не советовал, т.к. он исключает возможность указания скобочек, знаков тире, а также возможности указания буквенных телефонов. Код получается более простой, но тоже работает, хоть и с некоторой погрешностью:
<input id="contactPhone" name="form[contact][phone]" class="required" value="{ORDER_FORM_CONTACT_PHONE}" minlength="10">

Добрый вечер!
Сделала все по инструкции, но телефоны проходят любые. Пробовала оба способа, которые тут указаны.
При первом решении почему-то строчка с номером ушла в самой вверх (принтскрин прилагаю), при втором решении через форму быстрого заказа можно вбить короткий телефон, и заказ пройдет.
Прошу помочь. Спасибо!

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

  • результат при первом решении.png


#27 Сake

Сake

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

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

Отправлено 23 Август 2013 - 05:28

У вас изначально в шаблоне "Оформление заказа" поле

<input id="contactPhone" class="required" minlength="10" value="" name="form[contact][phone]">

вставлено не корректно. Замените ваш первый шаг оформления заказа в шаблоне "Оформление заказа" на следующий код (из шаблона по умолчанию). В данном коде уже добавлен класс phone_number к контактному телефону.

<!-- Шаг 1. Контакты -->
	  {% IF ORDER_STAGE_NUM=1%}
		<div class="orderStageContact">
		  <h3>Контактные данные</h3>
		  <div class="orderInfo">
		  <table>
			<tr>
			  <td class="cell1"><label for="contactPerson">Представьтесь, пожалуйста:<span class="red">*</span></label></td>
			  <td class="cell2"><input id="contactPerson" name="form[contact][person]" class="required" value="{ORDER_FORM_CONTACT_PERSON}"></td>
			</tr>
			<tr>
			  <td class="cell1"><label for="contactPhone">Контактный телефон:<span class="red">*</span></label></td>
			  <td class="cell2"><input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}"></td>
			</tr>
			<tr>
			  <td class="cell1"><label for="contactEmail">Электропочта:<span class="red contactRegisterNeedElement" {% IFNOT ORDER_FORM_CONTACT_WANT_REGISTER %}style="display:none;"{% ENDIF %}>*</span></label></td>
			  <td class="cell2"><input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" /></td>
			</tr>
			  <!-- Если в тарифном плане подключен раздел личного кабинета -->
			  {% IF TARIFF_FEATURE_CLIENT_ROOM %}
				{% IFNOT CLIENT_IS_LOGIN %}
				  <tr>
					<td class="cell1"><label for="contactWantRegister">Я хочу зарегистрироваться:</label></td>
					<td class="cell2"><input type="checkbox" id="contactWantRegister" name="form[contact][want_register]" class="orderStageContactCheckbox" value="1" {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}checked="checked"{% ENDIF %} /></td>
				  </tr>
				 
				  <tr class="contactRegisterNeedElement" {% IFNOT ORDER_FORM_CONTACT_WANT_REGISTER %}style="display:none;"{% ENDIF %}>
					<td class="cell1"><label for="contactPassWord">Пароль:</label></td>
					<td class="cell2">
					  <input type="password" id="contactPassWord" name="form[contact][pass]" value="{ORDER_FORM_CONTACT_PASS}" {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}class="required"{% ENDIF %} minlength="6" />
					  {% IFNOT user_agent_ie %}
					  <div class="OrderShowPassBlock"><a href="#" rel="Скрыть пароль" class="OrderShowPass">Показать пароль</a></div>
					  {% ENDIF %}
					  <div class="alignCenter" style="display:none;" id="caps_lock">
					   <img src="{ASSETS_IMAGES_PATH}warningCapslock.png"><br />
					   <strong>Caps Lock включен.</strong><br />
					   Пароль может быть введен неверно.
					  </div>
					</td>
				  </tr>
				{% ENDIF %}
			  {% ENDIF %}
			  <!-- END Если в тарифном плане подключен раздел личного кабинета -->
			</table>
		  </div>
		</div>
	  {% ENDIF %}
	  <!-- Шаг 2. Доставка -->


#28 Гость_Наталья C._*

Гость_Наталья C._*
  • Гости

Отправлено 23 Август 2013 - 09:05

Просмотр сообщенияСake (23 Август 2013 - 05:28) писал:

У вас изначально в шаблоне "Оформление заказа" поле

<input id="contactPhone" class="required" minlength="10" value="" name="form[contact][phone]">

вставлено не корректно. Замените ваш первый шаг оформления заказа в шаблоне "Оформление заказа" на следующий код (из шаблона по умолчанию). В данном коде уже добавлен класс phone_number к контактному телефону.

<!-- Шаг 1. Контакты -->
	 {% IF ORDER_STAGE_NUM=1%}
	 <div class="orderStageContact">
		 <h3>Контактные данные</h3>
		 <div class="orderInfo">
		 <table>
		 <tr>
			 <td class="cell1"><label for="contactPerson">Представьтесь, пожалуйста:<span class="red">*</span></label></td>
			 <td class="cell2"><input id="contactPerson" name="form[contact][person]" class="required" value="{ORDER_FORM_CONTACT_PERSON}"></td>
		 </tr>
		 <tr>
			 <td class="cell1"><label for="contactPhone">Контактный телефон:<span class="red">*</span></label></td>
			 <td class="cell2"><input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}"></td>
		 </tr>
		 <tr>
			 <td class="cell1"><label for="contactEmail">Электропочта:<span class="red contactRegisterNeedElement" {% IFNOT ORDER_FORM_CONTACT_WANT_REGISTER %}style="display:none;"{% ENDIF %}>*</span></label></td>
			 <td class="cell2"><input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" /></td>
		 </tr>
			 <!-- Если в тарифном плане подключен раздел личного кабинета -->
			 {% IF TARIFF_FEATURE_CLIENT_ROOM %}
			 {% IFNOT CLIENT_IS_LOGIN %}
				 <tr>
				 <td class="cell1"><label for="contactWantRegister">Я хочу зарегистрироваться:</label></td>
				 <td class="cell2"><input type="checkbox" id="contactWantRegister" name="form[contact][want_register]" class="orderStageContactCheckbox" value="1" {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}checked="checked"{% ENDIF %} /></td>
				 </tr>
				
				 <tr class="contactRegisterNeedElement" {% IFNOT ORDER_FORM_CONTACT_WANT_REGISTER %}style="display:none;"{% ENDIF %}>
				 <td class="cell1"><label for="contactPassWord">Пароль:</label></td>
				 <td class="cell2">
					 <input type="password" id="contactPassWord" name="form[contact][pass]" value="{ORDER_FORM_CONTACT_PASS}" {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}class="required"{% ENDIF %} minlength="6" />
					 {% IFNOT user_agent_ie %}
					 <div class="OrderShowPassBlock"><a href="#" rel="Скрыть пароль" class="OrderShowPass">Показать пароль</a></div>
					 {% ENDIF %}
					 <div class="alignCenter" style="display:none;" id="caps_lock">
					 <img src="{ASSETS_IMAGES_PATH}warningCapslock.png"><br />
					 <strong>Caps Lock включен.</strong><br />
					 Пароль может быть введен неверно.
					 </div>
				 </td>
				 </tr>
			 {% ENDIF %}
			 {% ENDIF %}
			 <!-- END Если в тарифном плане подключен раздел личного кабинета -->
		 </table>
		 </div>
	 </div>
	 {% ENDIF %}
	 <!-- Шаг 2. Доставка -->

Выполнила.
1) Теперь при введении номера выдается сообщение : "Укажите корректный номер телефона" (скриншот во вложении)
Как сделать, чтобы +7 уже стояло в отдельном окошке, а клиент вбивал бы все остальное в другое окошко?

2) При заказе товара через "купить быстро в 1 клик" телефон не проверяется. Я ввели 8906, и заказ прошел без каких-то уведомлений.

Спасибо за помощь!

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

  • 2.png


#29 Сake

Сake

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

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

Отправлено 24 Август 2013 - 02:49

Вы можете перед самим полем

<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}">

добавить 7

7 <input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}">

или вставить в поле

<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="7">

Для быстрого заказа - вам необходимо в шаблоне "Быстрый заказ" найти поле телефона

<input type="text" class="required input-text" maxlength="255" value="" name="form[contact][phone]" id="sites_client_phone">

и добавить ему класс phone_number

<input type="text" class="required input-text phone_number" maxlength="255" value="" name="form[contact][phone]" id="sites_client_phone">


#30 Гость_Наталья C._*

Гость_Наталья C._*
  • Гости

Отправлено 24 Август 2013 - 11:39

Просмотр сообщенияСake (24 Август 2013 - 02:49) писал:

Вы можете перед самим полем

<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}">

добавить 7

7 <input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}">

или вставить в поле

<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="7">

Для быстрого заказа - вам необходимо в шаблоне "Быстрый заказ" найти поле телефона

<input type="text" class="required input-text" maxlength="255" value="" name="form[contact][phone]" id="sites_client_phone">

и добавить ему класс phone_number

<input type="text" class="required input-text phone_number" maxlength="255" value="" name="form[contact][phone]" id="sites_client_phone">

Просто добавила 7, как вы указали. В итоге само поле для телефона стало длиннее, чем другие (скриншот приложила). И точно нужно ли 7, а не +7?
По поводу быстрого заказа: вообще не нашла в шаблоне "Быстрый заказ" строчку <input type="text" class="required input-text" maxlength="255" value="" name="form[contact][phone]" id="sites_client_phone">
[/CODE]
Вы уверены, что она там есть?

Спасибо!

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

  • 3.png


#31 miyako

miyako

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

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

Отправлено 24 Август 2013 - 14:03

Просмотр сообщенияНаталья C. (24 Август 2013 - 11:39) писал:

Просто добавила 7, как вы указали. В итоге само поле для телефона стало длиннее, чем другие (скриншот приложила). И точно нужно ли 7, а не +7?
По поводу быстрого заказа: вообще не нашла в шаблоне "Быстрый заказ" строчку <input type="text" class="required input-text" maxlength="255" value="" name="form[contact][phone]" id="sites_client_phone">
[/CODE]
Вы уверены, что она там есть?

Спасибо!

Вместо 7 поставьте  +7

Найдите код в шаблоне Быстрого заказа (строка 25)-
<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text" type="text"/>
и замените на -

<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text phone_number" type="text"/>


#32 Гость_Наталья C._*

Гость_Наталья C._*
  • Гости

Отправлено 24 Август 2013 - 15:54

Просмотр сообщенияmiyako (24 Август 2013 - 14:03) писал:

Вместо 7 поставьте  +7

Найдите код в шаблоне Быстрого заказа (строка 25)-
<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text" type="text"/>
и замените на -

<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text phone_number" type="text"/>

1) Поставила +7, теперь окошко для телефона в заказе через корзину на 2 знака длиннее остальных. Как сделать его короче?
2) В форме быстрого заказа ничего не изменилось после смены кода. Все также нет +7 и принимает короткий номер.
Спасибо за помощь!

#33 Сake

Сake

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

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

Отправлено 27 Август 2013 - 05:16

1) Найдите ваше поле в шаблоне "Оформление заказа"

<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}">

и замените на

<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}" style="width: 84.2%;">

2) Если смотреть ваш шаблон "Быстрый заказ" то точное поле выглядит так

<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text phone_number" type="text"/>

так же как я понимаю у вас в дополнении не накладывается валидация формы. Попробуйте следующее - найдите в шаблоне "Быстрый заказ"

$(document).ready(function(){

и замените на

$(document).ready(function(){
   setTimeout(function() {

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

});
</script>
{% ENDIF %}

и замените на

}, 500);
});
</script>
{% ENDIF %}


#34 Гость_Наталья C._*

Гость_Наталья C._*
  • Гости

Отправлено 29 Август 2013 - 10:50

Просмотр сообщенияСake (27 Август 2013 - 05:16) писал:

1) Найдите ваше поле в шаблоне "Оформление заказа"

<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}">

и замените на

<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}" style="width: 84.2%;">

2) Если смотреть ваш шаблон "Быстрый заказ" то точное поле выглядит так

<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text phone_number" type="text"/>

так же как я понимаю у вас в дополнении не накладывается валидация формы. Попробуйте следующее - найдите в шаблоне "Быстрый заказ"

$(document).ready(function(){

и замените на

$(document).ready(function(){
setTimeout(function() {

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

});
</script>
{% ENDIF %}

и замените на

}, 500);
});
</script>
{% ENDIF %}

Выполнила. С обычным заказом все ОК.
Но вот теперь в форме быстрого заказа проблемы.
Клиенту не ясно, как телефон вводить (скриншот во вложении)
Как поставить +7 по умолчанию и далее свободное поле для ввода?
Спасибо!

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

  • 1.png


#35 Гость_Наталья C._*

Гость_Наталья C._*
  • Гости

Отправлено 29 Август 2013 - 19:51

Просмотр сообщенияНаталья C. (29 Август 2013 - 10:50) писал:

Выполнила. С обычным заказом все ОК.
Но вот теперь в форме быстрого заказа проблемы.
Клиенту не ясно, как телефон вводить (скриншот во вложении)
Как поставить +7 по умолчанию и далее свободное поле для ввода?
Спасибо!

Нашла "проблемы" с обычным заказом через корзину. При заказе +7 уже стоит, но почему-то она финально не попадает в карточку клиента.
Смс о новом заказе он не получает.
Как исправить?

Вопрос выше все еще актуален, копирую

Но вот теперь в форме быстрого заказа проблемы.
Клиенту не ясно, как телефон вводить (скриншот во вложении)
Как поставить +7 по умолчанию и далее свободное поле для ввода?
Спасибо!

#36 Сake

Сake

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

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

Отправлено 30 Август 2013 - 06:44

Цитата

Как поставить +7 по умолчанию и далее свободное поле для ввода?

Вам необходимо в шаблоне "Быстрый заказ" найти поле

<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text phone_number" type="text"/>

и перед ним поставить +7, получиться так

+7 <input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text phone_number" type="text"/>

Цитата

Нашла "проблемы" с обычным заказом через корзину. При заказе +7 уже стоит, но почему-то она финально не попадает в карточку клиента.
Смс о новом заказе он не получает.

+7 не вставляется в поле, а вставляется рядом с ним, поэтому оно и не добавляется к введенному номеру телефона. Для того чтобы это происходило - можно +7 вставить в поле изначально, т.е найти поле

<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text phone_number" type="text"/>

и в атрибут value вставить +7

<input id="sites_client_phone" name="form[contact][phone]" value="+7" maxlength="255" class="required input-text phone_number" type="text"/>

Для корректного прохождения валидации номера с +7 замените

if(typeof(jQuery.validator) != 'undefined') {
jQuery.validator.addMethod("phone_number", function(value, element) {
return (this.optional(element) || /^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/i.test(value)) ? true : false;
}, "Укажите корректный телефонный номер");
}

на

if(typeof(jQuery.validator) != 'undefined') {
jQuery.validator.addMethod("phone_number", function(value, element) {
return (this.optional(element) || /^(?:(?:\+?7\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/i.test(value)) ? true : false;
}, "Укажите корректный телефонный номер");
}


#37 Гость_Наталья C._*

Гость_Наталья C._*
  • Гости

Отправлено 30 Август 2013 - 09:43

Просмотр сообщенияСake (30 Август 2013 - 06:44) писал:

Вам необходимо в шаблоне "Быстрый заказ" найти поле

<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text phone_number" type="text"/>

и перед ним поставить +7, получиться так

+7 <input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text phone_number" type="text"/>



+7 не вставляется в поле, а вставляется рядом с ним, поэтому оно и не добавляется к введенному номеру телефона. Для того чтобы это происходило - можно +7 вставить в поле изначально, т.е найти поле

<input id="sites_client_phone" name="form[contact][phone]" value="{ORDER_FORM_CONTACT_PHONE}" maxlength="255" class="required input-text phone_number" type="text"/>

и в атрибут value вставить +7

<input id="sites_client_phone" name="form[contact][phone]" value="+7" maxlength="255" class="required input-text phone_number" type="text"/>

Для корректного прохождения валидации номера с +7 замените

if(typeof(jQuery.validator) != 'undefined') {
jQuery.validator.addMethod("phone_number", function(value, element) {
return (this.optional(element) || /^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/i.test(value)) ? true : false;
}, "Укажите корректный телефонный номер");
}

на

if(typeof(jQuery.validator) != 'undefined') {
jQuery.validator.addMethod("phone_number", function(value, element) {
return (this.optional(element) || /^(?:(?:\+?7\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/i.test(value)) ? true : false;
}, "Укажите корректный телефонный номер");
}

Подскажите, в каком файле мне искать код? Его нет в " быстром заказе" и в "оформлении заказа"

if(typeof(jQuery.validator) != 'undefined') {
jQuery.validator.addMethod("phone_number", function(value, element) {
return (this.optional(element) || /^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/i.test(value)) ? true : false;
}, "Укажите корректный телефонный номер");
}

#38 Сake

Сake

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

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

Отправлено 31 Август 2013 - 01:33

Данный код вы ранее вставляли в файл main.js

#39 Гость_Наталья C._*

Гость_Наталья C._*
  • Гости

Отправлено 31 Август 2013 - 10:55

Просмотр сообщенияСake (31 Август 2013 - 01:33) писал:

Данный код вы ранее вставляли в файл main.js

Спасибо огромное! Все получилось ))

#40 zabota-mama

zabota-mama

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

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

Отправлено 06 Январь 2014 - 16:09

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

в целом сделать строгий формат на странице оформления заказа не сложно, для этого достаточно в разделе "Сайт" > "Редактор шаблонов" дописать в файле "main.js" в самом конце файла метод проверки телефона, с помощью регулярного выражения, для jQuery Validation Plugin-а примерно такого:
if(typeof(jQuery.validator) != 'undefined') {
jQuery.validator.addMethod("phone_number", function(value, element) {
return (this.optional(element) || /^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/i.test(value)) ? true : false;
}, "Укажите корректный телефонный номер");
}

и далее в шаблоне "Оформление заказа" к полю
<input id="contactPhone" name="form[contact][phone]" class="required " value="{ORDER_FORM_CONTACT_PHONE}">
Нужно будет дописать добавленный класс проверки телефона, чтобы получилось так:
<input id="contactPhone" name="form[contact][phone]" class="required phone_number" value="{ORDER_FORM_CONTACT_PHONE}">


Отличная доработка.
Я так понимаю, что этот код просто проверяет, то что ввел клиент. Можно ли сделать чтобы при клике на поле ввода телефона оно преображалось?
По-шагово видно на картинках.

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

  • 1.JPG
  • 2.JPG
  • 3.JPG






Темы с аналогичным тегами обновления, клиенты

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

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