0 Пользователей и 1 Гость просматривают эту тему.
  • 28 Ответов
  • 1342 Просмотров
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Здравствуйте, подскажите как при оформлении заказа сделать необязательным поле e-mail?
*

gartes

  • Давно я тут
  • 966
  • 77 / 5
  • Е = mс²
Опции такой в VirtueMart нет. Нужно javascript-ом вставлять какую нибудь рыбу.. )) типа xx@xxx.xx это при условии что заказ может оформить не зарегеный пользователь..
к примеру как здесь.vivalavita.com.ua
Но поле емайл там все равно обязательное.
*

One

  • Захожу иногда
  • 270
  • 2 / 0
А если кто-то будет вводить e-mail?
*

gartes

  • Давно я тут
  • 966
  • 77 / 5
  • Е = mс²
Цитировать
А если кто-то будет вводить e-mail?
)) Ну значит перед тем как заполнить значение в поле емайл нужно проверить его на содержание. И если оно действительно пустое то поставить xx@xxx.xx,
а если значение есть (то есть покупатель все же ввел свой емайл ) тогда оставляем как есть
*

One

  • Захожу иногда
  • 270
  • 2 / 0
)) Ну значит перед тем как заполнить значение в поле емайл нужно проверить его на содержание. И если оно действительно пустое то поставить xx@xxx.xx,
а если значение есть (то есть покупатель все же ввел свой емайл ) тогда оставляем как есть

А можете подсказать как это сделать?
*

gartes

  • Давно я тут
  • 966
  • 77 / 5
  • Е = mс²
Подскажу...
Нужно на кнопку повесить такой обработчик.
Код
$('#confirmbtn_button').on('click', function  (){
var eEl = $('[name*="email"]').val()
if(!eEl.val()){
var tel = $('[name*="phone"]').val()
eEl.val('no_reg_'+tel+'@xxx.xx')
} // end if
});

Где то так
#confirmbtn_button - ID Кнопки регистрации
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Если у меня one page checkout, мне надо кнопку искать в файлах этого расширения или в файлах VirtueMart? Если знаете, в каком конкретно файле искать, подскажите, пожалуйста.
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Для того, чтобы сделать поле e-mail необязательным ищем файл onepage.unlogged.tpl, у меня он был по адресу

Цитировать
   /public_html/components/com_onepage/themes/название шаблона

После чего находим вот этот код
Код
<button style="right: 0; top:0;" id="confirmbtn_button" type="submit" autocomplete="off" <?php echo $op_onclick ?>  ><?php echo OPCLang::_('COM_VIRTUEMART_ORDER_CONFIRM_MNU')?></button>

И вместо него

Код
<?php echo $op_onclick ?>

Добавляем

Код
$('#confirmbtn_button').on('click', function  (){
var eEl = $('[name*="email"]').val()
if(!eEl.val()){
var tel = $('[name*="phone"]').val()
eEl.val('no_reg_'+tel+'@xxx.xx')
} // end if
});

Ликуем)
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Код
gartes
Огромное Вам спасибо
*

gartes

  • Давно я тут
  • 966
  • 77 / 5
  • Е = mс²
Тут немного неправильно
Код
$('#confirmbtn_button').on('click', function  (){
var eEl = $('[name*="email"]').val()
if(!eEl.val()){
var tel = $('[name*="phone"]').val()
eEl.val('no_reg_'+tel+'@xxx.xx')
} // end if
});
var eEl = $('[name*="email"]').val() заменить на var eEl = $('[name*="email"]') (без .val())

И вот еще ...
<?php echo $op_onclick ?> не в место этого ...
А ниже
<script> .... тут код ...</script>
скорее всего что тут валидаторы формы стоят. или json sender.
В общем как то так.
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Тут немного неправильно
Код
$('#confirmbtn_button').on('click', function  (){
var eEl = $('[name*="email"]').val()
if(!eEl.val()){
var tel = $('[name*="phone"]').val()
eEl.val('no_reg_'+tel+'@xxx.xx')
} // end if
});
var eEl = $('[name*="email"]').val() заменить на var eEl = $('[name*="email"]') (без .val())

И вот еще ...
<?php echo $op_onclick ?> не в место этого ...
А ниже
<script> .... тут код ...</script>
скорее всего что тут валидаторы формы стоят. или json sender.
В общем как то так.
Ниже? Сразу после этого <?php echo $op_onclick ?> ?

То есть надо дописать <script>, сам код
Код
$('#confirmbtn_button').on('click', function  (){
var eEl = $('[name*="email"]').val()
if(!eEl.val()){
var tel = $('[name*="phone"]').val()
eEl.val('no_reg_'+tel+'@xxx.xx')
} // end if
});
И закрытие скрипта </script>. Так?
*

gartes

  • Давно я тут
  • 966
  • 77 / 5
  • Е = mс²
Код
<button style="right: 0; top:0;" id="confirmbtn_button" type="submit" autocomplete="off" >
           
          <?php echo OPCLang::_('COM_VIRTUEMART_ORDER_CONFIRM_MNU')?>

</button>

<script>
$('#confirmbtn_button').on('click', function  (){
var eEl = $('[name*="email"]')
if(!eEl.val()){
var tel = $('[name*="phone"]').val()
eEl.val('no_reg_'+tel+'@xxx.xx')
} // end if
});

</script>

Вот так.!
« Последнее редактирование: 28.03.2016, 07:02:07 от gartes »
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Есть один момент, подтверждение заказа происходит медленно, при нажатии на кнопку "Подтвердить" очень долго грузит, до 10 сек. Как ускорить этот процесс? Может быть как-то убрать процесс проверки заполнения полей?
*

gartes

  • Давно я тут
  • 966
  • 77 / 5
  • Е = mс²
Цитировать
Может быть как-то убрать процесс проверки заполнения полей?
Ну вполне возможно... Если конечно у вас полей для проверки около 10 тысяч, то да..... :laugh:

Это может быть что какой то плагин тупит. Особенно те которые в папке systems валяются.
Скорее всего что это как раз один плагин может такое творить..

А в обще то что бы что то сказать по этому поводу нужно как минимум реж. отладки включить.. Чтоб не гадать.. 

*

One

  • Захожу иногда
  • 270
  • 2 / 0
При включении режима отладки, страница не загружается, просто белый экран.
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Через FireBug возможно это сделать?
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Можете помочь решить проблему?
*

gartes

  • Давно я тут
  • 966
  • 77 / 5
  • Е = mс²
Цитировать
При включении режима отладки, страница не загружается, просто белый экран.
Ну тогда отрубите все плагины. И запускайте в режиме отладки.
Потом по 1 включайте и проверяйте ...
На том на котором молоко появиться там и копать нужно.
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Ну тогда отрубите все плагины. И запускайте в режиме отладки.
Потом по 1 включайте и проверяйте ...
На том на котором молоко появиться там и копать нужно.

На локалхосте это можно делать?
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Это может быть что какой то плагин тупит. Особенно те которые в папке systems валяются.

Вы были правы. Тормоза из-за плагина BIT VirtueMart Product Badges, он выводит картинки скидка, хит и т.д. Хотелось бы не выключать этот плагин, но на пока, это необходимо. Что можно сделать, чтобы этот плагин не тормозил так сильно подтверждение заказа? Тормоза иногда доходят до 30 секунд.
*

gartes

  • Давно я тут
  • 966
  • 77 / 5
  • Е = mс²
Цитировать
он выводит картинки скидка, хит и т.д
  ;D
Отрубите его а такие картинки можно кастомарными полями выводить или в самом шаблоне проверять. ))
Короче не нужен он вам. ))
*

Socha

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Вот так.!
gartes, подскажите пожалуйста, почему у меня не работает?
Joomla! 3.5.1 + VirtueMart 3.0.16 + One Page Checkout

Нашел файл отвечающий за вывод кнопки "оформить заказ" и добавил туда скрипт. Получилось вот так:
Код
<?php if ($BUTTONS->SHOW_CONFIRM_BUTTON) { ?>
<input type="submit" class="text_button checkout_button" id="confirmbtn_button" name="bypv_submit_confirm" value="ОФОРМИТЬ ЗАКАЗ" />
<?php } ?>

<script>
$('#confirmbtn_button').on('click', function  (){
var eEl = $('[name*="email"]')
if(!eEl.val()){
var tel = $('[name*="phone"]').val()
eEl.val('no_reg_'+tel+'@xxx.xx')
} // end if
});

</script>
id="confirmbtn_button" это уже я прибавил к input т.к. он был без id
При нажатии на кнопку, пишет "Не удалось зарегистрировать пользователя: Пожалуйста, укажите ваше имя."
Я так понимаю скрипт не срабатывает, а почему не понимаю...
Спасибо.
« Последнее редактирование: 01.06.2016, 14:29:31 от Socha »
*

Socha

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
подскажите пожалуйста, почему у меня не работает?

Кажется понял почему ))
Я пытаюсь в обязательное поле "name" подставить данные из поля "email"
тем самым сделав поле "отображаемое имя" заполняемым по умолчанию...

А этот скрипт не про это ((

Жаль я скрипты писать не умею...
Подскажите как он должен выглядеть?
Задача такая - убрать поле "второе имя" оно же "отображаемое имя" при регистрации пользователя в VirtueMart
А так как это поле обязательно для регистрации - хочу чтобы туда подставлялся указанный email
*

Socha

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
убрать поле "второе имя" оно же "отображаемое имя" при регистрации пользователя в VirtueMart

Неужели ни кто не знает как это делается в VirtueMart3?
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Неужели ни кто не знает как это делается в VirtueMart3?
Если это имя в настройках VirtueMart, в меню "поля заполняемые пользователями", то в названии поля "first_name" снимите с публикации "Показывать в корзине"
*

One

  • Захожу иногда
  • 270
  • 2 / 0
gartes, используя код ниже подтверждения заказа проходит в любом случае, даже если не одно поле не заполнено. Можете подсказать, как акцент поставить именно на одном поле, именно электронной почты?

Код
<button style="right: 0; top:0;" id="confirmbtn_button" type="submit" autocomplete="off" >
           
          <?php echo OPCLang::_('COM_VIRTUEMART_ORDER_CONFIRM_MNU')?>

</button>

<script>
$('#confirmbtn_button').on('click', function  (){
var eEl = $('[name*="email"]')
if(!eEl.val()){
var tel = $('[name*="phone"]').val()
eEl.val('no_reg_'+tel+'@xxx.xx')
} // end if
});

</script>
*

gartes

  • Давно я тут
  • 966
  • 77 / 5
  • Е = mс²
Цитировать
Можете подсказать, как акцент поставить именно на одном поле, именно электронной почты?
Прости не понял ...
*

One

  • Захожу иногда
  • 270
  • 2 / 0
Прости не понял ...
Как сделать так, чтобы регистрация заказа проходила если только поле электронной почты не заполнено? Потому что если использовать данный код, тогда можно вообще все поля оставить пустыми и регистрация заказа все равно будет сделана. При кодах по умолчанию, пока клиент не заполнил нужные поля, заказ он не мог зарегистрировать. С этим кодом не имеет значение, поля заполнены или нет, если нажать кнопку "Подтвердить" заказ все равно оформляется, только в админку попадает заказ без контактов или не со всеми заполнеными контактами, потому что клиент, некоторые поля предпочёл не заполнять.
« Последнее редактирование: 13.06.2017, 22:45:17 от One »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как добавить поле в форму "Задайте вопрос по этому товару"?

Автор DamianTrash

Ответов: 11
Просмотров: 4459
Последний ответ 20.09.2017, 10:56:04
от ivafana
Как отправить копию письма заказчика на отельный e-mail менеджера?

Автор Grigorii

Ответов: 1
Просмотров: 180
Последний ответ 18.03.2017, 03:44:56
от gartes
Сделать редирект после входа в аккаунт

Автор stardel

Ответов: 0
Просмотров: 246
Последний ответ 16.08.2016, 16:56:04
от stardel
email необязательным при заказе

Автор plat_on

Ответов: 4
Просмотров: 2937
Последний ответ 05.06.2016, 23:07:05
от roggi-y
поле ввода информации пользователем в товаре

Автор gazman

Ответов: 2
Просмотров: 323
Последний ответ 21.01.2016, 22:12:20
от gazman