在joomla 3中的用户注销上运行php代码

时间:2016-08-08 13:15:57

标签: php joomla logout

版本 - Joomla 3.6.2

我的软件包包括一个管理组件,一个前端组件和一个模块。

我正在尝试在用户注销时运行一些php代码(http请求)。我很困惑在哪里写代码。 我几乎没有问题 -

2 个答案:

答案 0 :(得分:2)

是的,编写用户插件是你想要的,而且非常简单。以下是您开始使用的框架:

  • 在您的安装中创建一个新文件夹,ex / plugin / user / yourplugin
  • 添加xml文件:yourplugin.xml,其中包含以下内容:

<?xml version="1.0" encoding="utf-8"?> <extension version="3.0.0" type="plugin" group="user" method="upgrade"> <name>plg_user_yourplugin</name> <author>NeiL</author> <creationDate>Aug 2017</creationDate> <version>3.1.0</version> <description>Add a description</description> <files> <filename plugin="yourplugin">yourplugin.php</filename> </files> </extension>

  • 这样的php文件

<?php defined('_JEXEC') or die; class PlgUserYourplugin extends JPlugin { function onUserLogout($credentials, $options){ // call whatever php you like here... return true; } }

文档说onUserLogout应该返回一个布尔值,但是返回false似乎没有效果,用户仍然会将用户注销。

如果插件只能在前端运行,则需要处理此问题。

您可以在创建文件后使用discover - 功能(Extensions-&gt; manage-&gt; discover)来安装插件。请记住在安装后启用插件。

答案 1 :(得分:0)

您可以使用plugin或执行模板覆盖登录模块&amp; com_user组件,您可以在其中注销时设置自定义URL。因此,在注销过程完成后,用户将转到您的自定义脚本,您可以执行您的操作。 或者,如果您不想继续更新joomla,则可以破解com_users。

注意:建议只使用Plugin方法,这种方法更安全。实现目标的正确方法。