RSS   Twitter   Copiny   Copiny
Нашел ошибку? 

Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!

Убрать подтверждение email при регистрации

Отключение поля «Подтверждение адреса электронной почты».

Для того чтобы убрать повторный ввод email адреса из формы регистрации, нужно переопределить макет регистрации «components/com_users/views/registration/tmpl/default.php» в шаблоне.

И добавить в него следующие строчки:

defined('_JEXEC') or die;
//это добавляем
$this->form->setFieldAttribute('email2', 'type', 'hidden');
$this->form->setFieldAttribute('email2', 'required', 'false');
...

Этим скроется поле «email2» из формы. Но этого будет не достаточно, так как на стороне сервера будет проходит проверка повторного ввода email адреса. Здесь на помощь придет небольшой JavaScript. В этом JS перед отправкой формы нужно присвоить значение поля «email1» полю «email2». Пример скрипта для mootools будет следующим:

<script type="text/javascript">
<!--
window.addEvent("domready", function(){
    document.id("member-registration").addEvent("submit", function(){
        this.jform_email2.value = this.jform_email1.value;
    })
})
//-->
</script>

После того как вы добавите это в макет формы регистрации, пользователь не будет видеть поля «Подтверждение адреса электронной почты».

Смотрите также:
Комментарии (8) Добавить комментарий
  • Sergey
    Sergey
    02 Апреля 2012, 15:16
     ↑  0  ↓     ответ

    Не подскажете, как сделать hidden или хотя-бы нередактируемым radio-fieldset?

    $form->setFieldAttribute('имя филдсета', 'disabled', 'true');

    не работает

  • Igorko
    Igorko
    22 Июня 2012, 13:44
     ↑  +2  ↓     ответ

    Это можно сделать проще:

    открываем файлик \components\com_users\models\forms\registration.xml

    и убираем строки -

    <field name="email2" type="email"

    description="COM_USERS_REGISTER_EMAIL2_DESC"

    field="email1"

    filter="string"

    label="COM_USERS_REGISTER_EMAIL2_LABEL"

    message="COM_USERS_REGISTER_EMAIL2_MESSAGE"

    required="true"

    size="30"

    validate="equals"

    />

    Вот и все готово :)

  • Misha
    Misha
    13 Октября 2012, 21:49
     ↑  0  ↓     ответ

    А как добавить скрипт к Mootools?

  • Misha
    Misha
    14 Октября 2012, 00:05
     ↑  0  ↓     ответ

    Есть более простое решение - 2createthatwebsite.com/joomla-tutorials/remove-fields-joomla-registration-form

  • Жанна Абашкина
    Жанна Абашкина
    24 Июля 2015, 21:09
     ↑  0  ↓     ответ

    так и не нашли правильного решения

  • Дж ВАш
    Дж ВАш
    03 Октября 2015, 05:38
     ↑  0  ↓     ответ

    Контроллер должен принять 2 параметра email1 & email2 поэтоу при удалении данных полей контроллер пошлет вас.

    А если вы уж хардкодите в я дре то смело переписуйте контроллер и обновляйте жумлу

  • Помогатор
    Помогатор
    22 Октября 2015, 10:20
     ↑  0  ↓     ответ

    Чтобы убрать обязательно для заполнения поле email

    в XXX\libraries\joomla\table\user.php

    191 строка либо поиском if ((trim($this->email) == "") - закомменить это

    ну и в user.xml (ищите) убрать required="true"

    ЗЫ для админки

  • Begenc
    Begenc
    19 Августа 2016, 22:02
     ↑  0  ↓     ответ

    Begenc

Оставить комментарий




* обязательно для заполнения

1 введенный почтовый адрес используется только для обратной связи при ответах в комментариях и сервиса gravatar.com
.