【问题标题】:Sylius event listener on order update订单更新时的 Sylius 事件监听器
【发布时间】:2015-05-27 13:55:50
【问题描述】:

我希望在我的捆绑包中设置一个事件侦听器,以侦听订单何时设置为完成或退款。

我使用此链接中的代码成功创建了一个事件侦听器:

https://github.com/Sylius/Sylius-Docs/blob/master/bundles/general/events.rst

这是我的监听代码

namespace myBundle\EventListener;

use Symfony\Component\EventDispatcher\GenericEvent;

class SolrListener 
{    

    public function onOrderUpdate(GenericEvent $event)
    {
        echo "I have hooked into it !!!";
        exit();
    }
}

这是我的服务条目:

    myBundle.listener.solr:
    class: myBundle\EventListener\SolrListener
    tags:
       -  { name: kernel.event_listener, event: sylius.orders.post_update, method: onOrderUpdate }

我的主要问题是事件。我试过 sylius.orders.post_update 和 sylius.order.post_update 都没有接。

任何指导将不胜感激,非常感谢。

【问题讨论】:

    标签: symfony sylius


    【解决方案1】:

    您还可以将侦听器附加到订单状态的状态机。每次进行转换时,都会调用您的侦听器。

    https://github.com/Sylius/Sylius/blob/master/src/Sylius/Bundle/OrderBundle/Resources/config/app/state_machine.yml

    【讨论】:

    • 这实际上可能是一个更好的主意。你会碰巧有一些可以发布的示例代码吗?我很想尝试一下。
    【解决方案2】:

    我想通了。更新订单时,我不应该检查:

    sylius.order.post_update

    但实际上:

    sylius.payment.post_update

    这是我正在更新的付款。

    希望能帮助到那里的人

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多