1

德行中是否有类似 onafterConfirmorder 的事件?就像在 joomla onAfterRender,onBeforeRender 事件中一样。我想在订单确认后执行代码。

4

2 回答 2

1

也许 Joomla 2 或 3 中的路径不同?在 Joomla 1.5 中没有类似的路径:

ROOT_PATH\folder_name\administrator\components\com_virtuemart\models\order.php

仅存在以下路径:

ROOT_PATH\folder_name\administrator\components\com_virtuemart\classes\ps_order.php

于 2012-10-13T08:15:11.270 回答
0

更好的是,您必须为此概念创建一个插件。

首先,您需要ORDER在 Virtumart 中找到该部分。以下模型文件包含所有订单功能。

ROOT_PATH\folder_name\administrator\components\com_virtuemart\models\order.php

在此文件中,您必须找到订单完成的位置。在该部分中,一旦订单完成,您必须触发此插件处理您的功能。

您可以调用该插件中定义的任何插件事件。

$dispatcher = JDispatcher::getInstance();
$data       = array($argu1, $argu2);   // any number of arguments you want
return $dispatcher->trigger(onAfterRender, $data);

然后它将触发onAfterRender您创建的插件中的事件。

<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

jimport( 'joomla.plugin.plugin' );

/**
 * Example system plugin
 */
class plgSystemExample extends JPlugin
{
/**
* Constructor.
*
* @access protected
* @param object $subject The object to observe
* @param array   $config  An array that holds the plugin configuration
* @since 1.0
*/
public function __construct( &$subject, $config )
{
parent::__construct( $subject, $config );

// Do some extra initialisation in this constructor if required
}
/**
* Do something onAfterRender
*/
function onAfterRender()
{
}
}

像这样你必须创建你的插件..

一切顺利....

于 2012-09-17T13:48:16.847 回答