gpt4 book ai didi

php - Magento:在 pre_dispatch 观察者中停止调度

转载 作者:可可西里 更新时间:2023-11-01 00:15:18 25 4
gpt4 key购买 nike

我想影响产品渲染(将 $params 传递给 Mage_Catalog_Helper_Product_View::prepareAndRender())并在 controller_action_predispatch_catalog_product_view 事件上注册了一个观察者.

呈现工作正常,但原始的 catalog/product/view 操作仍在执行,因此显示了两个产品。

如何在预调度观察器期间停止调度?

最佳答案

  1. 请求的dispatched字段必须为真
  2. 必须将前面操作的 FLAG_NO_DISPATCH 标志设置为 true

在代码中(内部观察者):

// @see Mage_Core_Controller_Varien_Action::dispatch()
$controller = $observer->getControllerAction();
$controller->getRequest()->setDispatched(true);
$controller->setFlag(
'',
Mage_Core_Controller_Front_Action::FLAG_NO_DISPATCH,
true
);

关于php - Magento:在 pre_dispatch 观察者中停止调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13130324/

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