Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Joomla 3.2如何编辑登录模块?_Php_Joomla_Joomla2.5_Joomla Extensions_Joomla3.0 - Fatal编程技术网

Php Joomla 3.2如何编辑登录模块?

Php Joomla 3.2如何编辑登录模块?,php,joomla,joomla2.5,joomla-extensions,joomla3.0,Php,Joomla,Joomla2.5,Joomla Extensions,Joomla3.0,要求 我刚开始学习Joomla,我想做的是计算失败登录的次数,并在第5次登录失败后显示div或验证码 我尝试的 我首先尝试寻找符合要求的扩展(我没有编写任何代码),但不幸的是,所有的扩展似乎都做了其他事情(如尝试失败时发送电子邮件等) 因此,我决定编辑现有的登录模块 class UsersControllerUser extends UsersController { public function login() { //the code here } }

要求

我刚开始学习Joomla,我想做的是计算失败登录的次数,并在第5次登录失败后显示
div
或验证码

我尝试的

我首先尝试寻找符合要求的扩展(我没有编写任何代码),但不幸的是,所有的扩展似乎都做了其他事情(如尝试失败时发送电子邮件等)

因此,我决定编辑现有的
登录模块

class UsersControllerUser extends UsersController
{
    public function login()
    {
       //the code here
    }
}
我真的还没有完全掌握Joomla的概念,但是如果我用“野蛮”的方式来做这件事,我会在那里插入一个查询,以便在每次失败的尝试中在
\u users
表下插入/更新某个列

问题

  • 这是正确的方法还是有更“Joomla”的方法
  • 如果我要这样做,在上表中手动添加一列可以吗?(我这样问是因为如果我这样做,可能一些代码会因为缺少/新列等而停止工作)
  • 试试这个

    适合您需求的方法是插件, Joomla有
    onUserLoginFailure
    的默认插件事件。因此,您必须为您的需求创建一个插件

    此外,您还提到您正在自定义
    #u用户
    表,请不要这样做,因为bcoz是Joomla core表,一旦更新可用,它将删除您的列。 因此,创建具有正确用户关系的新表,您可以使用
    user\u id
    作为新表中的键,并跟踪失败的尝试

    您可以使用插件的一部分创建自定义表,只需安装一个插件即可创建该表。所以请选择标准的Joomla方法

    有关插件的更多详细信息,请参阅Joomla默认配置文件插件


    希望它有意义。

    但是,您可以安全地将数据添加到#(u#)用户(u profiles-table,这是一个更通用的自定义用户数据表。非常有用!这正是我想要的答案。在学习了插件之后,我将尝试这个。