gpt4 book ai didi

Magento - 从预调度观察者转发到不同的 Controller Action

转载 作者:行者123 更新时间:2023-12-04 11:41:30 25 4
gpt4 key购买 nike

是否可以根据我可以在 Controller 预调度事件中检查的特定条件转发到不同的操作(在同一 Controller 内)?

例如 - 即将运行的 Action 是索引

如果我为预调度事件创建一个观察者,如果某个条件为真,我想运行一个不同的 Action :myAction 而不是 indexAction

最佳答案

您可以在预调度 Hook 中执行以下方法。

public function yourMethod($observer)
{
if ($condition) {
$request = Mage::app()->getRequest();
$request->initForward()
->setControllerName('controllername')
->setModuleName('modulename')
->setActionName('actionname')
->setDispatched(false);

return false;
}
}

但是,如果您正在使用自定义 Controller ,为什么不总是将其路由到例如 indexAction()?并在该方法中找出您想要 _forward() 到下一个的位置,就像 Kalpesh 在他的回答中已经提到的那样?性能方面没有区别。

关于Magento - 从预调度观察者转发到不同的 Controller Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11592948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com