我想在新注册用户点击注册表单上的注册按钮之前以及在获取有关激活邮件的系统消息之前(如果useractivation设置为ON)
为此我修改了文件 components / com_user / controller.php 在 JController 类的 register_save 方法中,我更改了原始的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');
如何访问该新注册用户的用户ID?有没有其他方法来执行custom_operations.php文件(我还在寄存器中添加了一个额外的字段,这在此文件中是必不可少的)? 请指导
答案 0 :(得分:2)
您可以使用用户类型创建一个joomla插件,并且可以覆盖方法:onUserAfterSave和onUserBeforeSave方法。 :)
答案 1 :(得分:1)
如果用户注册成功,请尝试下面的操作,看看它是否给出了值:
$user->id;
另外,在custom_operations.php文件中,使用 mysql_insert_id() 。它将给出上一个查询创建的id。因此,在用户注册之后,您可以在表中获取生成的ID。