结账成功的Opencart活动

Joh*_*lia 3 opencart

如何在opencart中处理自定义购买操作后,无需修改核心代码?

在付款之前调用事件'post.order.add',我在付款完成后找不到任何内容:(最重要的操作缺失

bil*_*oah 5

我可以想到两种方式:

1)您可以使用事件post.order.history,然后检查历史记录行数以确定是否应用操作.如果只有一个表明该订单刚刚被确认.像这样的东西:

$this->load->model('account/order');
if (count($this->model_account_order->getOrderHistories($order_id)) <= 1) {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

有可能是你可以用它来决定是否要触发动作其它标志-问题的关键是,你只需要你可以依靠,因为这个动作被触发确认付款条件此后每隔订单历史记录更新.

2)使用vQmod并向success.php控制器应用某些内容. 安装vQmod并构造一个xml文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<modification>
    <id>Order Success Event</id>
    <version>1.0</version>
    <vqmver>2.4</vqmver>
    <author>johndoe@example.com</author>

    <file name="catalog/controller/checkout/success.php">
        <operation>
            <search position="after"><![CDATA[public function index()]]></search>
            <add><![CDATA[
        // Things to do after order success event
            ]]></add>
        </operation>
    </file>
</modification>
Run Code Online (Sandbox Code Playgroud)