1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

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

Тема в разделе "Joomla", создана пользователем Drunk Monkey, 4 ноя 2012.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0, NightHunter
  1. Drunk Monkey

    Drunk Monkey Постоялец

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

    Единственно, что нашел это способ для joomla 1.6 Перейти по ссылке
    Но к сожалению на Joomla 2.5 он не сработал.
     
  2. mr_crossy

    mr_crossy Постоялец

    Регистр.:
    25 авг 2012
    Сообщения:
    84
    Симпатии:
    39
    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, например...
     
    genycika нравится это.
  3. Drunk Monkey

    Drunk Monkey Постоялец

    Регистр.:
    7 июн 2012
    Сообщения:
    105
    Симпатии:
    17

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

    Сохранить не удалось из-за ошибки: Пожалуйста, введите корректный адрес электронной почты.
     
  4. joom-joom

    joom-joom

    Регистр.:
    28 фев 2010
    Сообщения:
    429
    Симпатии:
    148
    убери строчку
    validate="email"
    и
    validate="equals"
     
    genycika нравится это.
  5. Drunk Monkey

    Drunk Monkey Постоялец

    Регистр.:
    7 июн 2012
    Сообщения:
    105
    Симпатии:
    17
    Убрал в field name="email" и field name="email2" результат аналогичен
     
  6. mr_crossy

    mr_crossy Постоялец

    Регистр.:
    25 авг 2012
    Сообщения:
    84
    Симпатии:
    39
    + к предыдущему посту идем
    \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.
    Их можно заменить на свои, например, ваш аккаунт будет активирован после модерации администратора.
     
    Drunk Monkey и genycika нравится это.
  7. genycika

    genycika Постоялец

    Регистр.:
    26 июл 2009
    Сообщения:
    86
    Симпатии:
    14
    Вроде получилось. Спасибо! Возможно сделать так чтобы после завершения регистрации и появления сообщения "Registration failed: An error was encountered while sending the registration email. A message has been sent to the administrator of this site." пользователя редиректило на главную страницу?
     
  8. joom-joom

    joom-joom

    Регистр.:
    28 фев 2010
    Сообщения:
    429
    Симпатии:
    148
    можно в этом файле изменить надпись на . "Registration finished" например.
    \language\en-GB\en-GB.com_users.ini
     
  9. genycika

    genycika Постоялец

    Регистр.:
    26 июл 2009
    Сообщения:
    86
    Симпатии:
    14
    проблема не в надписи а в том что пользователю открывается опять страница с регистрацией и он может попытаться еше раз пройти регистрацию думая что где-то что-то не так написал...
    [​IMG]
     
  10. joom-joom

    joom-joom

    Регистр.:
    28 фев 2010
    Сообщения:
    429
    Симпатии:
    148
    а url как-то меняется после ошибки? глянь без sef
     
Статус темы:
Закрыта.