Обязательные поля для заполнения в msOrder
Добрый день!
miniShop2 :: Настройки :: Варианты доставки
В настройках есть обязательные поля для заполнения, исключил «email», а он все равно при заказе обязателен для заполнения, как выключить?
Спасибо!
п.с. все понимаю, но заказчик хочет именно так, для него «Получатель + Телефон» достаточно!
miniShop2 :: Настройки :: Варианты доставки
В настройках есть обязательные поля для заполнения, исключил «email», а он все равно при заказе обязателен для заполнения, как выключить?
Спасибо!
п.с. все понимаю, но заказчик хочет именно так, для него «Получатель + Телефон» достаточно!
Комментарии: 15
его не выключить.
— можно скрыть поле и заполнить например тем же самым телефонным номером
— можно расширить метод заказа и переписать там место с обязаловкой email
— можно скрыть поле и заполнить например тем же самым телефонным номером
— можно расширить метод заказа и переписать там место с обязаловкой email
— можно скрыть поле и заполнить например тем же самым телефонным номеромСкрыв поле, то вообще форму не отправить же?
— можно расширить метод заказа и переписать там место с обязаловкой emailПопробую с утра перечитать ваши сообщения, или тут запятых не хватает где то, или мне поспать нужно. Не чего не могу понять!
— можно скрыть поле и заполнить например тем же самым телефонным номером
{foreach ['receiver','phone','email'] as $field}
<div class="row">
<div class="form-group input-parent">
<label class="col-md-3 control-label" for="{$field}">
<span class="required-star">*</span> {('ms2_frontend_' ~ $field) | lexicon}
</label>
<div class="col-sm-6">
<input type="text" id="{$field}" placeholder="{('ms2_frontend_' ~ $field) | lexicon}"
name="{$field}" value="{$form[$field]}"
class="form-control{($field in list $errors) ? ' error' : ''}">
</div>
</div>
</div>
{/foreach}
Как его скрыть, если оно генерируется автоматом, переписать его без Fenom'a!? Опять же, а если пользователь хочет оставить e-mail, что бы ему на почту пришел заказ? — можно расширить метод заказа и переписать там место с обязаловкой email
Вот тут можно по подробнее? Очень заинтересовало «переписать там место с обязаловкой email»
Рабочий код с работающего сайта.
При клике на кнопку «Нет email» поле для ввода почты прячется, в инпут подставляется фейковый емейл в формате датасегодня@fakemail.com
При клике на кнопку «Нет email» поле для ввода почты прячется, в инпут подставляется фейковый емейл в формате датасегодня@fakemail.com
<div class="form-group">
<label for="email">
<span class="required">*</span> Email
</label>
<input type="email" id="email" placeholder="Email" name="email" value="" class="form-control{('email' in list $errors) ? ' error' : ''}">
<span id="noemail" type="button">Нет email</span>
</div>
И js//Fake Email generate
$('#noemail').click(function(){
var time = Date.now();
var fakeemail = time + "@fakemail.com";
$('#email').val(fakeemail).hide();
$('#noemail').hide();
});
Дальше сами, думаю, ничего разжёвывать не надо
Спасибо, пока повесил ваш вариант, а есть более элегантное решение т.е. вообще исключить Email из обязательных полей? Как ни крути, но выше предложный вариант — это костыль!
Исключить email нельзя, тк на его основе создаётся пользователь, а для пользователя почта обязательна.
Понял
Как ни крути, но выше предложный вариант — это костыль!Я, лично, не считаю такое решение костылём.
Пока что, это единственное решение позволить оформлять покупки без email-адреса.
Буду признателен, да и не только я, если найдёте элегантное решение.
Ниже Михаил написал, что обязательное указание email встроено в ядро miniShop2 и без него никак.
что-то я добавил ваш код и код скрипта на страницу и при нажатии у меня ничего не происходит (((
код скрипта просто добавил сразу после html, который вы написали
код скрипта просто добавил сразу после html, который вы написали
<script>
$('#noemail').click(function(){
var time = Date.now();
var fakeemail = time + "@fakemail.com";
$('#email').val(fakeemail).hide();
$('#noemail').hide();
});
</script>
я с js вообще не дружу ( что-то забыл еще прописать, да? что-то забыл еще прописать, да?Да:)
<div class="form-group">
<label class="control-label visible-xs" for="email">
<span class="required-star">*</span> Email
</label>
<input type="email" id="email" placeholder="Email" name="email" value="" class="input-lg form-control{('email' in list $errors) ? ' error' : ''}">
<span id="noemail" type="button" class="small dashed red" style="cursor:pointer;color: #ff0000; border-bottom: 1px dashed #ff0000;">Нет email</span>
</div>
:) ну это понятно. вот только у меня не срабатывает сам js
там в коде js что-то нужно дописывать или это весь код?
сорри за такие тупые вопросы, просто реально не знаю js, сейчас пытаюсь найти в гугле по этому поводу
там в коде js что-то нужно дописывать или это весь код?
сорри за такие тупые вопросы, просто реально не знаю js, сейчас пытаюсь найти в гугле по этому поводу
Весь чанк выкладывайте
Вызываем после подключения jquery.js
Вообще, js выносите и оборачивайте
Вообще, js выносите и оборачивайте
(function($){
$(document).ready(function(){
$('#noemail').click(function(){
var time = Date.now();
var fakeemail = time + "@fakemail.com";
$('#email').val(fakeemail).hide();
$('#noemail').hide();
});
});
})(jQuery);
блин, ну конечно, как всегда, самое элементарное, вызывал до вызова jquery.js
спасибо! сори за беспокойство!
вот думаю как еще усовершенствовать в виде кнопки, чтобы можно было скрывать и показывать…
спасибо! сори за беспокойство!
вот думаю как еще усовершенствовать в виде кнопки, чтобы можно было скрывать и показывать…
Вот тут можно по подробнее? Очень заинтересовало «переписать там место с обязаловкой email»Решение будет подобным, фейковый email
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.