0 Пользователей и 1 Гость просматривают эту тему.
  • 22 Ответов
  • 4702 Просмотров
*

Lann

  • Захожу иногда
  • 117
  • 5 / 1
  • Палисандровый генерал
Добрый день. Мне необходимо сделать поле e-mail не обязательным к заполнению, т.к. я регистрирую юзеров без подтверждения. Как? Спасибо.
*

smart

  • Администратор
  • 6485
  • 1316 / 15
  • Хочешь сделать хорошо — сделай!
E-mail нужен не только для подтверждения, но, например, и для функции напоминания пароля. Вот забудет пользователь пароль, как он его поменяет без e-mail? Будет просить администратора? Каждый раз? Мне почему-то кажется, что в наше время, хотя бы один почтовый ящик, но есть у любого пользователя. А если нет - самое время завести ;)
*

Darkick

  • Завсегдатай
  • 1142
  • 239 / 1
Ну ящик нужен конечно, но мало-ли какая у человека задача стоит, может внутренний какой проект.
*

Lann

  • Захожу иногда
  • 117
  • 5 / 1
  • Палисандровый генерал
да. Darkick прав. Хоть проект он-лайн. но тем не менее.
я напишу там - мол е-маил не обязателен, но желателен для того что бы востановить ваш пароль....

2Smart, и дело тут не в том есть - нет. вообщем не суть.

Подскажите как? Joomla 1.5
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
в шаблоне com_contact убрать параметр "обязательный" для input-ов (убрать класс required validate-email)
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
в шаблоне com_contact убрать параметр "обязательный" для input-ов (убрать класс required validate-email)
А причем здесь com_contact?
Может ты имел ввиду com_user
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
А причем здесь com_contact?
Может ты имел ввиду com_user
угу, конечно же com_user :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

Lann

  • Захожу иногда
  • 117
  • 5 / 1
  • Палисандровый генерал
Убрал 2 класа с поля. "Обязательность" пропала, но, почему то, валидация ругается на пустое поле. Может ее еще где то надо отключить?
*

Lann

  • Захожу иногда
  • 117
  • 5 / 1
  • Палисандровый генерал
даже стирая полностью поле с адресом отсюда \components\com_user\views\register\tmpl\default.php - я получаю сообщение о неправельном e-mail`е....
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Я думаю там не все так просто. Может быть валидность мейла проверяется в самом ядре. Вообщем думаю копать надо глубже, а не на уровне шаблонов.
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
А вообще конечно нужно еще смотреть файл libraries\joomla\database\table\user.php, там в функции function check() и прописаны все проверки на обязательность, уникальность и прочее
Код: php
		if ((trim($this->email) == "") || ! JMailHelper::isEmailAddress($this->email) ) {
$this->setError( JText::_( 'WARNREG_MAIL' ) );
return false;
}
« Последнее редактирование: 20.07.2009, 15:44:41 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
С этим мылом будут регистрироваться все пользователи, что в принципе не имеет значения раз оно вообще не должно быть обязательным
Но вроде как задача и стояла как не должно быть обязательным. Т.е. как я понял хочу ввожу, хочу не ввожу, а здесь так работать не будет :)
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
SmokerMan - прошу прощения, ступил, поправил предыдущий пост, именно там и надо убирать проверку на обязательность
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

beliyadm  прошу прощения за оффтоп,как с Вами можно связаться? очень сильно нужна ваша помощь... а как Вам отправить сообщение я не знаю,напишите Вы мне если Вас не затруднит... Спасибо!
*

beliyadm

  • Легенда
  • 8985
  • 1626 / 63
  • Севастополь == Россия
Ecstasy - что Вам мешает писать вопрос в форуме? Вероятности ответа много выше нежели от меня одного.
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb
*

Lann

  • Захожу иногда
  • 117
  • 5 / 1
  • Палисандровый генерал
Спасибо, так работает. Регистрация проходит нормально.
*

Lann

  • Захожу иногда
  • 117
  • 5 / 1
  • Палисандровый генерал
Добрый день. Нет не работает так. Первая регистрация с пустым полем e-mail проходит. Когда регистрируется следующий то вылазит сообщение вида "пользователь с таким адресом уже зарегистрирован...." Имеется видимо ввиду - пустой адрес что ли....
*

Lann

  • Захожу иногда
  • 117
  • 5 / 1
  • Палисандровый генерал
Люди добрые, помогитеее. как разбодать регистрацию ?
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
напишите что вы поменяли в том условии.
*

Lann

  • Захожу иногда
  • 117
  • 5 / 1
  • Палисандровый генерал
1. тут \components\com_user\views\register\tmpl\default.php
снял с поля E-mail - class required и validate-email

2. тут libraries\joomla\database\table\user.php в функции function check () закомитил проверку на обязательность

if ((trim ($this->email) == "") || ! JMailHelper::isEmailAddress ($this->email) ) {
         $this->setError ( JText::_( 'WARNREG_MAIL' ) );
         return false;
      }


В результате первая регистрация  - не заполняя E-mail - проходит нормально - при последующей регистрации - не заполняя E-mail - выходит предупреждение что "пользователь с таким адресом уже зарегистрирован...." и предлагается "вспомнить пароль"

"пользователь с таким адресом уже зарегистрирован...."
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
в том же файле идет еще проверка
Код: php
// check for existing email
$query = 'SELECT id'
. ' FROM #__users '
. ' WHERE email = '. $this->_db->Quote ($this->email)
. ' AND id != '. (int) $this->id
;
$this->_db->setQuery ( $query );
$xid = intval ( $this->_db->loadResult () );
if ($xid && $xid != intval ( $this->id )) {
$this->setError ( JText::_( 'WARNREG_EMAIL_INUSE' ) );
return false;
закомментируйте это тоже.
*

Lann

  • Захожу иногда
  • 117
  • 5 / 1
  • Палисандровый генерал
Спасибо! так работает - вроде корректно
*

twister2013

  • Захожу иногда
  • 91
  • 3 / 0
Подскажите пожалуйста как убрать * с полей регистрации, они у меня все обязательные
Подпись - зло и лишний трафик
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться