Как получить userid вновь зарегистрированного пользователя в Joomla 1.5.x?

#php #joomla #joomla1.5 #joomla-extensions

#php #joomla #joomla1.5 #joomla-расширения

Вопрос:

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

Для этого я изменил файл components/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');
  

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

Ответ №1:

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

Комментарии:

1. Я не очень разбираюсь в разработке расширений joomla. Можете ли вы рассказать мне о том, как написать плагин Joomla для вышеупомянутого сценария?

2. попробуйте перейти по этой ссылке docs.joomla.org/Plugin это предоставит вам более подробную информацию о плагинах joomla. 😉

3. Спасибо. Я создал плагин для этого, и в методе onUserAfterSave $user [‘id’] выдал мне идентификатор пользователя вновь зарегистрированного пользователя. 🙂

Ответ №2:

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

 $user->id;
  

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