Как получить ИД пользователя нового зарегистрированного пользователя в Joomla 1.5.x? - PullRequest
0 голосов
/ 12 ноября 2011

Я хочу выполнить некоторые операции с новым зарегистрированным пользователем, когда он нажимает кнопку register в форме регистрации и до того, как он получит системное сообщение о письме активации (если параметр useractivation включен)

Для этого я изменил файл компоненты / com_user / controller.php В register_save методе класса JController я изменил исходный код PHP

if ( !$user->save() )
{
    JError::raiseWarning('', JText::_( $user->getError()));
    $this->register();
    return false;
}

в

if ( !$user->save() )
{
    JError::raiseWarning('', JText::_( $user->getError()));
    $this->register();
    return false;
}
include('custom_operations.php');

В файле custom_operations.php я использовал переменную $ user для доступа к имени пользователя и электронной почте только что зарегистрированного пользователя, но следующий код дает мне 0 значение

$user->get('id');

Как я могу получить доступ к ИД пользователя этого нового зарегистрированного пользователя? Есть ли другой способ выполнить файл custom_operations.php (я также поместил дополнительное поле в форме регистра, которое необходимо в этом файле)? Пожалуйста, руководство

Ответы [ 2 ]

2 голосов
/ 12 ноября 2011

вы можете создать плагин joomla с типом пользователя и иметь возможность переопределять методы: методы onUserAfterSave и onUserBeforeSave. :)

1 голос
/ 12 ноября 2011

Если пользователь успешно зарегистрирован, попробуйте ниже и посмотрите, дает ли оно значение:

$user->id;

Иначе в файле custom_operations.php используйте mysql_insert_id () .Это даст идентификатор, созданный последним запросом.Так что сразу после регистрации пользователя вы можете получить сгенерированный идентификатор в таблице.

...