挂钩所有magento前端控制器动作之前[Magento]

时间:2014-03-12 08:21:26

标签: php magento

我想执行特定的操作

  • 进行外部API更新或
  • 重定向到其他路径等

当使用特定的get参数请求任何前端url时。

e.g domain.com/checkout/cart?process=true

无论如何,我的模块可以检测何时使用特定参数发出请求?

2 个答案:

答案 0 :(得分:4)

您可以使用活动controller_action_predispatch。这在每个控制器的preDispatch方法中调用 在您的观察者中,您可以从$_GET获取任何参数:

$param = Mage::app()->getRequest()->getParam('param_name_here');

你可以这样做一个重定向:

Mage::app()->getFrontController()
    ->getResponse()
    ->setRedirect('URL GOES HERE')
    ->sendResponse();
exit; //it seams that this exit is important.

答案 1 :(得分:2)

您需要编写一个观察者方法并在“controller_action_layout_load_before”事件上调用它以获取参数。