#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(). Он выдаст идентификатор, созданный последним запросом. Итак, сразу после регистрации пользователя вы можете получить сгенерированный идентификатор в таблице.