我正在尝试创建一个插件,以便从event onUserAuthorisation进行一些数据库查询。现在我只是想设置一个“Hello World”风格的插件,因为我还不确定我的插件功能是否正常启动。现在,当新用户获得授权时,插件应该只发送一封电子邮件。
我可以确认joomla电子邮件是否适用于用户注册和管理。
文件:autoextranet.php
,autoextranet.xml
,index.html
(空)
autoextranet.php
<?php
// no direct access
defined('_JEXEC') or die;
class plgUserAutoextranet extends JPlugin
{
public function onUserAuthorisation($user, $options)
{
$mailer = JFactory::getMailer();
$config = JFactory::getConfig();
$sender = array(
$config->get( 'mailfrom' ),
$config->get( 'fromname' )
);
$mailer->setSender($sender);
$recipient = array( 'email1@gmail.com', 'email2@some.com' );
$mailer->addRecipient($recipient);
$body = "New User: ".$user->username;
$mailer->setBody($body);
$mailer->setSubject('You got a new user.');
$mailer->Send();
}
}
?>
autoextranet.xml
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.8.2" type="plugin" group="user">
<name>PLG_USER_AUTOEXTRANET</name>
<author>Tim DeLise</author>
<creationDate>Nov 14, 2017</creationDate>
<copyright>Tim D</copyright>
<license>GNU General Public License</license>
<authorEmail>your email</authorEmail>
<authorUrl>your website</authorUrl>
<version>1.0</version>
<description>.</description>
<files>
<filename plugin="autoextranet">autoextranet.php</filename>
<filename>index.html</filename>
</files>
</extension>
现在的问题是我已经安装并激活了插件。当我创建并激活一个新用户时,我什么也得不到。
不幸的是,我对服务器的访问权限有限,并且无法查看PHP错误日志。我正在寻找一些方法来确认事件是否触发了我的代码。任何建议都是受欢迎的。这也是我制作的第一个插件,所以我的文件可能有问题。
非常感谢任何帮助。
Joomla版本3.8.2
答案 0 :(得分:1)
一旦用户进入登录过程,就会触发函数onUserAuthorisation
。确保你真的登录Joomla:)
我确定你已经意识到了这一点。但即使登录失败,也会触发此功能。