Как объединить поля Имя и фамилия на странице регистрации в opencart 3.0.2?

Как объединить поля Имя и фамилия на странице регистрации в opencart 3.0.2?

28.08.2019 08:06:28 Просмотров 45 Источник

Версии 3.0.2 Я хочу объединить поля формы имя и фамилия, чтобы сделать его полным именем, не отключая и не переименовывая ни одно из этих полей формы на странице регистрации.

Напр.. Имя [пробел] фамилия

Если я отключу поле Фамилия и переименую поле имя в полное имя, то на стороне администратора полное имя будет присвоено имени, а фамилия будет пустой, что не правильно при редактировании заказа или клиента.

Я искал в google и OpenCart forum ничего полезного не нашел.

У вопроса есть решение - Посмотреть?

Ответы - Как объединить поля Имя и фамилия на странице регистрации в opencart 3.0.2? / How to merge first and last name field on registration page in opencart 3.0.2?

Является ответом!
MahmoudKamal4792

05.09.2019 09:15:02

Попробуйте этот трюк

замените две группы форм firstname и lastname этим кодом:

<div class="form-group required">
    <label class="col-sm-2 control-label" for="input-fullname">{{ entry_fullname }}</label>
    <div class="col-sm-10">
        <input type="text" name="fullname" value="{{ fullname }}" placeholder="{{ entry_fullname }}" id="input-fullname" class="form-control" />
        {% if error_fullname %}
        <div class="text-danger">{{ error_fullname }}</div>
        {% endif %}
    </div>
</div>
<input type="hidden" name="firstname" id="input-firstname">
<input type="hidden" name="lastname" id="input-lastname">

<script>
$('#input-fullname').on('input', function(){
    thisValue = $(this).val().split(' ');
    if (thisValue.length > 1 ) {
        $('#input-firstname').val(thisValue.shift());
        $('#input-lastname').val(thisValue.join(' '));
    }
});
</script>

затем добавьте это правило проверки в "каталог / контроллер / учетная запись / регистр.php " в функции validate()

if (count(explode(' ', trim($this->request->post['fullname']) )) < 2) {
    $this->error['fullname'] = $this->language->get('error_fullname');
}
Закрыть X