版本 - Joomla 3.6.2
我的软件包包括一个管理组件,一个前端组件和一个模块。
我正在尝试在用户注销时运行一些php代码(http请求)。我很困惑在哪里写代码。 我几乎没有问题 -
答案 0 :(得分:2)
是的,编写用户插件是你想要的,而且非常简单。以下是您开始使用的框架:
<?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
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方法,这种方法更安全。实现目标的正确方法。