Помощь Как убрать поле email обязательное при регистрации J 2.5

Статус
В этой теме нельзя размещать новые ответы.

Drunk Monkey

Постоялец
Регистрация
7 Июн 2012
Сообщения
104
Реакции
18
Доброго времени суток, подскажите пожалуйста, как убрать обязательное при регистрации поле email или сделать заполнение необязательным?

Единственно, что нашел это способ для joomla 1.6 Для просмотра ссылки Войди или Зарегистрируйся
Но к сожалению на Joomla 2.5 он не сработал.
 
j2.5.7 components/com_users/models/forms/registration.xml строки 55-76
Код:
<field name="email1" type="email"
            description="COM_USERS_REGISTER_EMAIL1_DESC"
            field="id"
            filter="string"
            label="COM_USERS_REGISTER_EMAIL1_LABEL"
            message="COM_USERS_REGISTER_EMAIL1_MESSAGE"
            required="false"
            size="30"
            unique="true"
            validate="email"
        />
 
        <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="false"
            size="30"
            validate="equals"
        />
На выходе получается:
Адрес электронной почты (необязательно),
Подтверждение адреса электронной почты (необязательно)
Может быть регистрация идет через сторонние компоненты? K2, например...
 
j2.5.7 components/com_users/models/forms/registration.xml строки 55-76
Код:
<field name="email1" type="email"
            description="COM_USERS_REGISTER_EMAIL1_DESC"
            field="id"
            filter="string"
            label="COM_USERS_REGISTER_EMAIL1_LABEL"
            message="COM_USERS_REGISTER_EMAIL1_MESSAGE"
            required="false"
            size="30"
            unique="true"
            validate="email"
        />
 
        <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="false"
            size="30"
            validate="equals"
        />
На выходе получается:
Адрес электронной почты (необязательно),
Подтверждение адреса электронной почты (необязательно)
Может быть регистрация идет через сторонние компоненты? K2, например...


Возможно вы упустили, пару деталей, так как -
проверил, помимо сайта над которым бьюсь, на бекапе рабочего сайта и не поленился поставить чистую версию joomla 2.5.7 b результат тот же:

Сохранить не удалось из-за ошибки: Пожалуйста, введите корректный адрес электронной почты.
 
убери строчку
validate="email"
и
validate="equals"
 
+ к предыдущему посту идем
\libraries\joomla\database\table\user.php

строка 203-207 каментим или удаляем
Код:
 if ((trim($this->email) == "") || !JMailHelper::isEmailAddress($this->email))
        {
            $this->setError(JText::_('JLIB_DATABASE_ERROR_VALID_MAIL'));
            return false;
        }
строка 231-242 каментим или удаляем
Код:
        $query->clear();
        $query->select($this->_db->quoteName('id'));
        $query->from($this->_db->quoteName('#__users'));
        $query->where($this->_db->quoteName('email') . ' = ' . $this->_db->quote($this->email));
        $query->where($this->_db->quoteName('id') . ' != ' . (int) $this->id);
        $this->_db->setQuery($query);
        $xid = intval($this->_db->loadResult());
        if ($xid && $xid != intval($this->id))
        {
            $this->setError(JText::_('JLIB_DATABASE_ERROR_EMAIL_INUSE'));
            return false;
        }
Регистрация проходит, нужно лишь админу включить и активировать юзеров или в users manager выставить New User Account Activation в None и Send Password в No.
Вылезают предупреждения You must provide at least one recipient email address
и
Registration failed: An error was encountered while sending the registration email. A message has been sent to the administrator of this site.
Их можно заменить на свои, например, ваш аккаунт будет активирован после модерации администратора.
 
Вроде получилось. Спасибо! Возможно сделать так чтобы после завершения регистрации и появления сообщения "Registration failed: An error was encountered while sending the registration email. A message has been sent to the administrator of this site." пользователя редиректило на главную страницу?
 
можно в этом файле изменить надпись на . "Registration finished" например.
\language\en-GB\en-GB.com_users.ini
 
проблема не в надписи а в том что пользователю открывается опять страница с регистрацией и он может попытаться еше раз пройти регистрацию думая что где-то что-то не так написал...
registrationt.png
 
а url как-то меняется после ошибки? глянь без sef
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху