Здравствуйте!
Помогите сделать электронную почту обязательной для заполнения при оформлении заказа.
Сам, чет туплю, не осилил...
И еще при оформлении это поле отображается как "Почта", а хотелось бы чтоб было: "Электронная почта"
0
Как Сделать Электронную Почту Обязательной Для Заполнения?
Автор hohot, 30 июня 2022 22:04
Сообщений в теме: 8
#1
Отправлено 30 Июнь 2022 - 22:04
#2
Отправлено 01 Июль 2022 - 01:05
Здравствуйте.
Зайдите в раздел Сайт - Редактор шаблонов - Быстрый заказ - найдите:
замените на:
Зайдите в раздел Сайт - Редактор шаблонов - Быстрый заказ - найдите:
<div class="form__field email"> <label for="sites_client_email" {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}class="required"{% ENDIF %}><span>Ваш E-mail</span><em>*</em></label> <input id="sites_client_email" type="email" name="form[contact][email]" value="{ORDER_FORM_CONTACT_EMAIL}" maxlength="255" class="form__input" type="text" placeholder="Почта" {% IF ORDER_FORM_CONTACT_WANT_REGISTER %}required{% ENDIF %}/> </div>
замените на:
<div class="form__field email"> <label for="sites_client_email" class="required"><span>Ваш E-mail</span><em>*</em></label> <input id="sites_client_email" type="email" name="form[contact][email]" value="{ORDER_FORM_CONTACT_EMAIL}" maxlength="255" class="form__input" type="text" placeholder="Электронная почта" required/> </div>
#3
Отправлено 02 Июль 2022 - 21:35
Спасибо большое!
#4
Отправлено 02 Июль 2022 - 22:17
И вот еще аномалию обнаружил пока процессы заказа тестировал.
Не получается оформить заказ через кнопку "Быстрая покупка"
Процесс:
- на странице товара нажимаем кнопку "быстрая покупка"
- Открывается окно в котором сверху информация, что товар добавлен в корзину и ниже форма заказа.
выбор доставки, оплаты, заполнение фио, адрес итд...
- выбираем доставку, выбираем оплату, заполняем адрес, индекс, фио, почту. телефон...
- нажимаем кнопку внизу "Оформить заказ" и.... ничего не происходит, заказ не создается.
Через корзину заказ оформляется нормально, а вот тут, через "Быструю покупку", почему то не получается
Это только у меня или общая проблема?
Помогите пожалуйста разобраться
Номер аккаунта:SL-252393
Не получается оформить заказ через кнопку "Быстрая покупка"
Процесс:
- на странице товара нажимаем кнопку "быстрая покупка"
- Открывается окно в котором сверху информация, что товар добавлен в корзину и ниже форма заказа.
выбор доставки, оплаты, заполнение фио, адрес итд...
- выбираем доставку, выбираем оплату, заполняем адрес, индекс, фио, почту. телефон...
- нажимаем кнопку внизу "Оформить заказ" и.... ничего не происходит, заказ не создается.
Через корзину заказ оформляется нормально, а вот тут, через "Быструю покупку", почему то не получается
Это только у меня или общая проблема?
Помогите пожалуйста разобраться
Номер аккаунта:SL-252393
#5
Отправлено 07 Июль 2022 - 08:26
hohot (02 Июль 2022 - 22:17) писал:
И вот еще аномалию обнаружил пока процессы заказа тестировал.
Не получается оформить заказ через кнопку "Быстрая покупка"
Процесс:
- на странице товара нажимаем кнопку "быстрая покупка"
- Открывается окно в котором сверху информация, что товар добавлен в корзину и ниже форма заказа.
выбор доставки, оплаты, заполнение фио, адрес итд...
- выбираем доставку, выбираем оплату, заполняем адрес, индекс, фио, почту. телефон...
- нажимаем кнопку внизу "Оформить заказ" и.... ничего не происходит, заказ не создается.
Через корзину заказ оформляется нормально, а вот тут, через "Быструю покупку", почему то не получается
Это только у меня или общая проблема?
Помогите пожалуйста разобраться
Номер аккаунта:SL-252393
Не получается оформить заказ через кнопку "Быстрая покупка"
Процесс:
- на странице товара нажимаем кнопку "быстрая покупка"
- Открывается окно в котором сверху информация, что товар добавлен в корзину и ниже форма заказа.
выбор доставки, оплаты, заполнение фио, адрес итд...
- выбираем доставку, выбираем оплату, заполняем адрес, индекс, фио, почту. телефон...
- нажимаем кнопку внизу "Оформить заказ" и.... ничего не происходит, заказ не создается.
Через корзину заказ оформляется нормально, а вот тут, через "Быструю покупку", почему то не получается
Это только у меня или общая проблема?
Помогите пожалуйста разобраться
Номер аккаунта:SL-252393
Существует ли какое то решение проблемы?
#6
Отправлено 09 Июль 2022 - 04:47
Здравствуйте.
Зайдите в раздел Сайт - Редактор шаблонов - main.js - найдите:
замените на:
Зайдите в раздел Сайт - Редактор шаблонов - main.js - найдите:
// Быстрый заказ function quickOrder(formSelector) { // Находим форму, которую отправляем на сервер, для добавления товара в корзину var formBlock = $($(formSelector).get(0)); // Проверка на существование формы отправки запроса на добавление товара в корзину if(1 > formBlock.length || formBlock.get(0).tagName != 'FORM') { alert('Не удалось найти форму добавления товара в корзину'); return false; } // Получаем данные формы, которые будем отправлять на сервер var formData = formBlock.serializeArray(); // Сообщаем серверу, что мы пришли через ajax запрос formData.push({name: 'ajax_q', value: 1}); // Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа formData.push({name: 'fast_order', value: 1}); // Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара $.ajax({ type : "POST", cache : false, url : formBlock.attr('action'), data : formData, success: function(data) { $.fancybox.open(data, { keyboard: false, baseClass: "fastOrder", afterShow: function(){ showPass(); orderScripts(); orderScriptsSelect(); coupons(); preload(); $('.fastOrder__form').validate({ errorPlacement: function(error, element) { } }); } }) } }); return false; }
замените на:
// Быстрый заказ function quickOrder(formSelector) { // Находим форму, которую отправляем на сервер, для добавления товара в корзину var formBlock = $($(formSelector).get(0)); // Проверка на существование формы отправки запроса на добавление товара в корзину if(1 > formBlock.length || formBlock.get(0).tagName != 'FORM') { alert('Не удалось найти форму добавления товара в корзину'); return false; } // Получаем данные формы, которые будем отправлять на сервер var formData = formBlock.serializeArray(); // Сообщаем серверу, что мы пришли через ajax запрос formData.push({name: 'ajax_q', value: 1}); // Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа formData.push({name: 'fast_order', value: 1}); // Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара $.ajax({ type : "POST", cache : false, url : formBlock.attr('action'), data : formData, success: function(data) { $.fancybox.open(data, { keyboard: false, baseClass: "fastOrder", afterShow: function(){ showPass(); orderScripts(); orderScriptsSelect(); coupons(); preload(); $('.fastOrder__form').validate({ errorPlacement: function(error, element) { } }); } }) // Валидация формы на странице оформления заказа $(".total__buttons button, #makeOrder").on('click', function(){ var form = $(".fastOrder__form"); form.validate({ errorPlacement: function(error, element) { } }); form.submit(); return false; }); // Выключение кнопки оформления заказа если не все поля заполнены $(".fastOrder__form [required]").blur(function(){ if($('.fastOrder__form').valid()) { $(".total__buttons button").removeClass('disabled'); $(".total__buttons button").attr('data-tooltip', 'Оформить заказ'); $("#makeOrder").removeClass('disabled'); $("#makeOrder").attr('data-tooltip', 'Оформить заказ'); } else { $(".total__buttons button").addClass('disabled'); $(".total__buttons button").attr('data-tooltip', 'Заполните все поля'); $("#makeOrder").addClass('disabled'); $("#makeOrder").attr('data-tooltip', 'Заполните все поля'); } }); // Выключение кнопки оформления заказа если не все поля заполнены $(function(){ if($('.fastOrder__form').valid()) { $(".total__buttons button").removeClass('disabled'); $(".total__buttons button").attr('data-tooltip', 'Оформить заказ'); $("#makeOrder").removeClass('disabled'); $("#makeOrder").attr('data-tooltip', 'Оформить заказ'); }else{ $(".fastOrder__form input, .fastOrder__form textarea, .fastOrder__form select").removeClass('error'); } }); } }); return false; }
#7
Отправлено 11 Июль 2022 - 00:37
Спасибо!
Быстрый заказ заработал, но появилась еще одна проблема (или она уже была, но заметил вот только что).
Быстрый заказ теперь работает, но только если оформлять заказ на одну единицу (штуку) товара.
Если на странице товара нажать на плюсик прибавки количества, то вылезает предупреждение об ошибке:
Если сразу на странице товара количество не менять, то быстрый заказ оформляется без проблем.
Если пытаться поменять количество то - ошибка, как на плюсе, так и на минусе.
Цифра количества меняется, но если нажать быстрый заказ, то оформляется заказ все равно только на одну единицу товара.
Далее потестировал разные варианты связанные с изменением количества.
Оказалось, что если на странице товара меняем количество с индикацией вышеописанной ошибки, и пытаемся это количество просто закинуть в корзину нажатием кнопки "в корзину",
то в корзину падает все равно только одна единица товара и с каждым нажатием кнопки "В корзину" в нее падает по одной единице, хотя количество изменено на большее.
Если добавить одну единицу в корзину и уже в корзине менять количество, то все корректно, а вот если пытаться закинуть, к примеру три единицы товара, то попадает в корзину только одна.
Извиняюсь, если несколько сумбурно изложил, старался как можно понятнее.
Быстрый заказ заработал, но появилась еще одна проблема (или она уже была, но заметил вот только что).
Быстрый заказ теперь работает, но только если оформлять заказ на одну единицу (штуку) товара.
Если на странице товара нажать на плюсик прибавки количества, то вылезает предупреждение об ошибке:
Если сразу на странице товара количество не менять, то быстрый заказ оформляется без проблем.
Если пытаться поменять количество то - ошибка, как на плюсе, так и на минусе.
Цифра количества меняется, но если нажать быстрый заказ, то оформляется заказ все равно только на одну единицу товара.
Далее потестировал разные варианты связанные с изменением количества.
Оказалось, что если на странице товара меняем количество с индикацией вышеописанной ошибки, и пытаемся это количество просто закинуть в корзину нажатием кнопки "в корзину",
то в корзину падает все равно только одна единица товара и с каждым нажатием кнопки "В корзину" в нее падает по одной единице, хотя количество изменено на большее.
Если добавить одну единицу в корзину и уже в корзине менять количество, то все корректно, а вот если пытаться закинуть, к примеру три единицы товара, то попадает в корзину только одна.
Извиняюсь, если несколько сумбурно изложил, старался как можно понятнее.
#8
Отправлено 12 Июль 2022 - 02:43
Здравствуйте.
Зайдите в раздел Сайт - Редактор шаблонов - main.js - найдите:
замените на:
Зайдите в раздел Сайт - Редактор шаблонов - main.js - найдите:
// Изменение кол-ва в карточке function prodQty(){ $('.productView__qty .quantity').change(function(){ var t = $(this); // Количество var val = parseInt(t.val()); // Если вводят 0 то заменяем на 1 if(val < 1){ t.val(1); val = 1; } // Проверка максимальныго остатка var max = parseInt(t.attr('max')); if(val > max){ t.val(max); val = max; new Noty({ text: '<div class="noty__addto"><div class="noty__message">Внимание! Вы пытаетесь положить в корзину товара больше, чем есть в наличии</div></div>', layout:"bottomRight", type:"warning", easing:"swing", animation: { open: 'animated fadeInUp', close: 'animated fadeOutDown', easing: 'swing', speed: 400 }, timeout:"2000", progressBar:true }).show(); } // Обновление кол-ва для функций "Добавить" goodsModView.find('.goodsDataMainModificationId').val($(this).val()); // Цена товара без изменений var price = parseInt($('.productView__price .price__now').attr('content')); var newPrice = 0; // Проверяем наличие добавленных товаров вместе с основным if (goodsModView.find('.productView__form [class^="goodsID-"]').length) { goodsModView.find('.productView__form [class^="goodsID-"]').each(function(){ // Сумма всех добавленных товаров newPrice += parseInt($(this).attr('data-price')) }); } // Считаем новую сумму товара с учетом добавленных var multi = String(val * price + newPrice); // Обновляем новую сумму goodsModView.find('.productView__price .price__now').attr('data-price', multi); goodsModView.find('.productView__price .price__now').find('.num').text(addSpaces(multi)); }); }
замените на:
// Изменение кол-ва в карточке function prodQty($container){ var goodsModView = $container || $('#main .productViewBlock') goodsModView.find('.productView__qty .quantity').change(function(){ var t = $(this); // Количество var val = parseInt(t.val()); // Если вводят 0 то заменяем на 1 if(val < 1){ t.val(1); val = 1; } // Проверка максимальныго остатка var max = parseInt(t.attr('max')); if(val > max){ t.val(max); val = max; new Noty({ text: '<div class="noty__addto"><div class="noty__message">Внимание! Вы пытаетесь положить в корзину товара больше, чем есть в наличии</div></div>', layout:"bottomRight", type:"warning", easing:"swing", animation: { open: 'animated fadeInUp', close: 'animated fadeOutDown', easing: 'swing', speed: 400 }, timeout:"2000", progressBar:true }).show(); } // Обновление кол-ва для функций "Добавить" goodsModView.find('.goodsDataMainModificationId').val($(this).val()); // Цена товара без изменений var price = parseInt(goodsModView.find('.productView__price .price__now').attr('content')); var newPrice = 0; // Проверяем наличие добавленных товаров вместе с основным if (goodsModView.find('.productView__form [class^="goodsID-"]').length) { goodsModView.find('.productView__form [class^="goodsID-"]').each(function(){ // Сумма всех добавленных товаров newPrice += parseInt($(this).attr('data-price')) }); } // Считаем новую сумму товара с учетом добавленных var multi = String(val * price + newPrice); // Обновляем новую сумму goodsModView.find('.productView__price .price__now').attr('data-price', multi); goodsModView.find('.productView__price .price__now').find('.num').text(addSpaces(multi)); }); }
#9
Отправлено 12 Июль 2022 - 12:15
Огромное спасибо! Вы мне очень помогли!!!
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных