我试图从外部php文件调用rsoom Pro的支付插件的jooomla triggerEvent函数。 但我一直得到500错误,我的服务器错误日志没有缓存错误代码。 下面是我的代码,我也添加了我的参考。 请帮我查一下错误来源。 提前谢谢。
define( '_JEXEC', 1 );
define('JPATH_BASE', '../');
require_once ( JPATH_BASE .'/includes/defines.php' );
require_once ( JPATH_BASE .'/includes/framework.php' );
require_once (JPATH_BASE. '/plugins/system/rsfppayment/rsfppayment.php');
jimport('joomla.application.component.controller');
$updatedSubmissionId = 168;
$mainframe = JFactory::getApplication();
$mainframe->triggerEvent('rsfp_afterConfirmPayment', array($updatedSubmissionId));
答案 0 :(得分:1)
以下代码可以解决问题 - 可以在docs.joomla.org网站https://docs.joomla.org/Triggering_content_plugins_in_your_extension上找到更多信息。
// Note JDispatcher is deprecated in favour of JEventDispatcher in Joomla 3.x however still works.
JPluginHelper::importPlugin('system');
$dispatcher = JDispatcher::getInstance();
$dispatcher->trigger('rsfp_afterConfirmPayment', array($updatedSubmissionId));
答案 1 :(得分:1)
最好为你的插件创建自己的函数,然后使用另一个插件中的函数。但是我会简单介绍一下在你自己的插件代码中调用插件的方法(最新的Joomla 3 +):
第1步:
致电JPluginHelper::importPlugin( 'plugingroup' );
plugingroup可以是rsfppayment插件所在的系统或插件文件夹。
第2步:
$dispatcher = JEventDispatcher::getInstance();
第3步:
$results = $dispatcher->trigger( 'rsfp_afterConfirmPayment', array($updatedSubmissionId) );