首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >商店软件5中的事件优先级

商店软件5中的事件优先级
EN

Stack Overflow用户
提问于 2022-05-27 10:27:55
回答 2查看 156关注 0票数 0

我有两个插件,都使用相同的事件Enlight_Controller_Action_PostDispatchSecure_Frontend_Checkout插件在插件A,通过一个变量聪明,并需要为我的其他插件变量。但是插件B在插件A之前运行,所以我设置了优先级,并用var_dump()对其进行了测试;

插件A:

代码语言:javascript
复制
 public static function getSubscribedEvents()
{
    return [
        'Enlight_Controller_Action_PostDispatchSecure_Frontend_Checkout' => array('onCheckout', 1)
    ];
}
public function onPostDispatchCheckout(\Enlight_Event_EventArgs $args)
    {
        var_dump("Plugin A");
    }

插件B:

代码语言:javascript
复制
public static function getSubscribedEvents()
{
    return [
        'Enlight_Controller_Action_PostDispatchSecure_Frontend_Checkout' => array('onCheckout', 2)
    ];
}
    public function onPostDispatchCheckout(\Enlight_Event_EventArgs $args)
    {
        var_dump("Plugin B");
    }

现在当我运行它时,输出是:

代码语言:javascript
复制
plugin B, Plugin A

但是插件A必须先运行,我做错了什么?谢谢

EN

回答 2

Stack Overflow用户

发布于 2022-05-27 11:00:42

数字越高,执行订阅者越早。所以你必须改变优先次序。

插件A:

代码语言:javascript
复制
 public static function getSubscribedEvents()
{
    return [
        'Enlight_Controller_Action_PostDispatchSecure_Frontend_Checkout' => array('onCheckout', 2)
    ];
}
public function onPostDispatchCheckout(\Enlight_Event_EventArgs $args)
    {
        var_dump("Plugin A");
    }

插件B:

代码语言:javascript
复制
public static function getSubscribedEvents()
{
    return [
        'Enlight_Controller_Action_PostDispatchSecure_Frontend_Checkout' => array('onCheckout', 1)
    ];
}
    public function onPostDispatchCheckout(\Enlight_Event_EventArgs $args)
    {
        var_dump("Plugin B");
    }
票数 2
EN

Stack Overflow用户

发布于 2022-07-05 17:04:44

正如Pawel提到的,您可以在事件订阅中设置优先级。有两个语法可以实现这一点。

事件=>订阅者=>优先级

'Enlight_Controller_Action_PostDispatchSecure_Frontend_Checkout‘=> 'onCheckout’=> 1

事件=>订阅者,优先级

'Enlight_Controller_Action_PostDispatchSecure_Frontend_Checkout‘=> 'onCheckout',1

据我所知,像z指数一样,越高的指数就越好。您可能需要重新安装插件并清除缓存。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72403993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档