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


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


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

#1 KATS.VI

KATS.VI

    Новичок

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

Отправлено 17 Ноябрь 2012 - 18:29

Доброго времени суток, господа! Вопрос следующий: Каким образом установить запрет на оформление заказа без e-mail. Чтоб при нажатии на кнопку оформления заказа он красными большими буквами сверху писал ПОЛЕ E-MAIL НЕ ЗАПОЛНЕНО - ПОЖАЛУЙСТА, УКАЖИТЕ АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ!

#2 zvrv

zvrv

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

  • Пользователи
  • PipPipPip
  • 174 сообщений
  • ГородЯрославль

Отправлено 18 Ноябрь 2012 - 09:38

Просмотр сообщенияKATS.VI (17 Ноябрь 2012 - 18:29) писал:

Доброго времени суток, господа! Вопрос следующий: Каким образом установить запрет на оформление заказа без e-mail. Чтоб при нажатии на кнопку оформления заказа он красными большими буквами сверху писал ПОЛЕ E-MAIL НЕ ЗАПОЛНЕНО - ПОЖАЛУЙСТА, УКАЖИТЕ АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ!
В админке НАСТРОЙКИ -> ОСНОВНЫЕ -> Настройка полей доставки использующихся при оформлении заказа
и отмечаете обязательные поля при оформлении заказа. Все.

#3 KATS.VI

KATS.VI

    Новичок

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

Отправлено 18 Ноябрь 2012 - 13:09

Просмотр сообщенияzvrv (18 Ноябрь 2012 - 09:38) писал:

В админке НАСТРОЙКИ -> ОСНОВНЫЕ -> Настройка полей доставки использующихся при оформлении заказа
и отмечаете обязательные поля при оформлении заказа. Все.
Но там нет поля e-mail..

#4 zvrv

zvrv

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

  • Пользователи
  • PipPipPip
  • 174 сообщений
  • ГородЯрославль

Отправлено 18 Ноябрь 2012 - 16:12

Просмотр сообщенияKATS.VI (18 Ноябрь 2012 - 13:09) писал:

Но там нет поля e-mail..
Хм... действительно... раньше было..
Тогда сделайте так:
САЙТ -> РЕДАКТОР ТЕМ -> ШАБЛОН ОФОРМЛЕНИЕ ЗАКАЗА
В этом шаблоне найдите строчку
<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="cell1"><label for="contactEmail">Электронная почта:<span class="required red contactRegisterNeedElement">*</span></label></td>
Должно сработать.

#5 KATS.VI

KATS.VI

    Новичок

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

Отправлено 21 Ноябрь 2012 - 15:18

не сработало, блин.. может ещё варианты существуют

Оно(поле мыла) помечается звездочкой красной, но если оставить его пустым заказ, тем не менее, оформляется. нужно, чтоб не было возможности без мыла оформиться.

#6 Vaccina

Vaccina

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

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

Отправлено 21 Ноябрь 2012 - 18:19

Класс "required" необходимо вешать на поле ввода, а именно тег <input>

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

<input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" />

и заменить на

<input id="contactEmail" name="form[contact][email]" class="email required" value="{ORDER_FORM_CONTACT_EMAIL}" />


#7 sipaylik

sipaylik

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

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

Отправлено 04 Апрель 2013 - 11:14

Спасибо за тему и советы, очень помогло!)

#8 koloskov

koloskov

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

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

Отправлено 19 Май 2013 - 15:06

Просмотр сообщенияVaccina (21 Ноябрь 2012 - 18:19) писал:

Класс "required" необходимо вешать на поле ввода, а именно тег <input>

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

<input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" />

и заменить на

<input id="contactEmail" name="form[contact][email]" class="email required" value="{ORDER_FORM_CONTACT_EMAIL}" />

А я не хочу делать поле почты обязательным, а как добавить в него рекомендательную фразу (как в строке Поиск товара на главной)?

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

  • 9.JPG


#9 Koderhan

Koderhan

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

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

Отправлено 19 Май 2013 - 20:22

Просмотр сообщенияkoloskov (19 Май 2013 - 15:06) писал:

А я не хочу делать поле почты обязательным, а как добавить в него рекомендательную фразу (как в строке Поиск товара на главной)?
Для добавления подсказки вы можете изменить поле ввода на следующее.
Код:
<input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" />
Заменить:
<input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}"  onblur="this.value=(this.value=='') ? '{ORDER_FORM_CONTACT_EMAIL}' : this.value;" onfocus="this.value=(this.value=='{ORDER_FORM_CONTACT_EMAIL}') ? '' : this.value;" />


#10 koloskov

koloskov

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

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

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

Просмотр сообщенияKoderhan (19 Май 2013 - 20:22) писал:

Для добавления подсказки вы можете изменить поле ввода на следующее.
Код:
<input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" />
Заменить:
<input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" onblur="this.value=(this.value=='') ? '{ORDER_FORM_CONTACT_EMAIL}' : this.value;" onfocus="this.value=(this.value=='{ORDER_FORM_CONTACT_EMAIL}') ? '' : this.value;" />

А где в Вашем коде подсказка? Методом тыка прописываю сам (красным):

<tr>
  <td class="cell1"><label for="contactEmail">Ваш E-mail:<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}"  onblur="this.value=(this.value=='') ? 'рекомендуем указать' : this.value;" onfocus="this.value=(this.value=='рекомендуем указать') ? '' : this.value;" /></td>
</tr>

но она не появляется!

#11 Koderhan

Koderhan

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

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

Отправлено 20 Май 2013 - 14:01

Просмотр сообщенияkoloskov (20 Май 2013 - 09:43) писал:


А где в Вашем коде подсказка? Методом тыка прописываю сам (красным):

<tr>
  <td class="cell1"><label for="contactEmail">Ваш E-mail:<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}"  onblur="this.value=(this.value=='') ? 'рекомендуем указать' : this.value;" onfocus="this.value=(this.value=='рекомендуем указать') ? '' : this.value;" /></td>
</tr>

но она не появляется!
Просто тут дело в том что если пользователь зарегистрирован у него в поле email автоматически вставляется почта из профиля. Если убрать переменную {ORDER_FORM_CONTACT_EMAIL} почта автоматически вставляться   не будет. Попробуем написать условие если переменная пуста то выведем подсказку иначе вставим почту пользователя.

Код:
<input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}"  onblur="this.value=(this.value=='') ? 'рекомендуем указать' : this.value;" onfocus="this.value=(this.value=='рекомендуем указать') ? '' : this.value;" />
Заменить:
{%IF ORDER_FORM_CONTACT_EMAIL %}
<input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" />
{%ELSE%}
<input id="contactEmail" name="form[contact][email]" class="email" value="рекомендуем указать"  onblur="this.value=(this.value=='') ? 'рекомендуем указать' : this.value;" onfocus="this.value=(this.value=='рекомендуем указать') ? '' : this.value;" />
{%ENDIF%}


#12 koloskov

koloskov

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

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

Отправлено 20 Май 2013 - 16:46

Просмотр сообщенияKoderhan (20 Май 2013 - 14:01) писал:

Просто тут дело в том что если пользователь зарегистрирован у него в поле email автоматически вставляется почта из профиля. Если убрать переменную {ORDER_FORM_CONTACT_EMAIL} почта автоматически вставляться   не будет. Попробуем написать условие если переменная пуста то выведем подсказку иначе вставим почту пользователя.

Код:
<input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" onblur="this.value=(this.value=='') ? 'рекомендуем указать' : this.value;" onfocus="this.value=(this.value=='рекомендуем указать') ? '' : this.value;" />
Заменить:
{%IF ORDER_FORM_CONTACT_EMAIL %}
<input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" />
{%ELSE%}
<input id="contactEmail" name="form[contact][email]" class="email" value="рекомендуем указать" onblur="this.value=(this.value=='') ? 'рекомендуем указать' : this.value;" onfocus="this.value=(this.value=='рекомендуем указать') ? '' : this.value;" />
{%ENDIF%}

С одной стороны получилось, но фактически поле стало обязательным к заполнению, а мне это не нужно(!):

  <!-- Шаг 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" value="{ORDER_FORM_CONTACT_PHONE}"></td>
    </tr>
    <tr>
  <td class="cell1"><label for="contactEmail">Ваш E-mail:<span class="red contactRegisterNeedElement" {% IFNOT ORDER_FORM_CONTACT_WANT_REGISTER %}style="display:none;"{% ENDIF %}>*</span></label></td>
   <!--    Блок - это условие, если пользователь зарегистрирован у него в поле email автоматически вставляется почта из профиля. Если убрать переменную {ORDER_FORM_CONTACT_EMAIL} почта автоматически вставляться   не будет. Попробуем написать условие если переменная пуста то выведем подсказку иначе вставим почту пользователя -->
  <td class="cell2">
  {%IF ORDER_FORM_CONTACT_EMAIL %}
  <input id="contactEmail" name="form[contact][email]" class="email" value="{ORDER_FORM_CONTACT_EMAIL}" /></td>
  {%ELSE%}
  <input id="contactEmail" name="form[contact][email]" class="email" value="рекомендуем указать"  onblur="this.value=(this.value=='') ? 'рекомендуем указать' : this.value;" onfocus="this.value=(this.value=='рекомендуем указать') ? '' : this.value;" /></td>
  {%ENDIF%} <!-- конец блока -->

    </tr>.

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

  • 19.JPG


#13 koloskov

koloskov

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

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

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

Добрый день.
Помогите с проблемой предидущего сообщения!

#14 Koderhan

Koderhan

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

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

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

Попробуйте добавить в конец файла "main.js".
Код:
$(function(){
$('.more-link[type="submit"]').click(function(){
$(".invalidInput").removeClass( );
if($('#contactEmail').val() == 'рекомендуем указать'){
$('#contactEmail').val('');
};
});
});


#15 koloskov

koloskov

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

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

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

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

Попробуйте добавить в конец файла "main.js".
Код:
$(function(){
$('.more-link[type="submit"]').click(function(){
$(".invalidInput").removeClass( );
if($('#contactEmail').val() == 'рекомендуем указать'){
$('#contactEmail').val('');
};
});
});

Спасибо! Вот теперь заработало как хотелось бы.




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

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