Joomla 3.2如何编辑登录模块?

时间:2014-04-24 07:39:05

标签: php joomla joomla2.5 joomla-extensions joomla3.0

要求

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

我尝试了什么

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

所以我决定在这里编辑现有的Login Module anso

class UsersControllerUser extends UsersController
{
    public function login()
    {
       //the code here
    }
}

我真的不完全掌握Joomla的想法但是如果我以“野蛮”的方式做到这一点,我会在那里插入一个查询来插入/更新{{1每次失败的尝试都会有表格。

问题

  1. 这是正确的做法吗?还是有更多的“Joomla”方式呢?
  2. 如果我这样做,可以手动添加上表中的列吗? (我问,因为如果我这样做,也许有些代码因为缺少/新列等而停止工作)

1 个答案:

答案 0 :(得分:2)

试试这个,

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

你还提到你正在自定义#__users表永远不要这样做bcoz它是一个Joomla核心表一旦有更新,它将删除你的列。 因此,创建具有适当用户关系的新表,您可以使用user_id作为新表中的键,并跟踪失败的尝试。

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

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

希望它有意义......