所以,我正在努力解决这个问题,我已经设置了一个观察器,以便在客户/帐户/登录被点击时触发。 Firebug 清楚地表明我正在向此 URL 发布数据,但我无法在我的观察者方法中读取所述 POST 数据。
观察者方法:
public function checkCustomerLogin($observer) {
Mage::log("event observed");
$controller = $observer->getControllerAction();
Mage::log(print_r($controller->getRequest()->getPost(), true));
return $this;
}
示例日志结果:
2014-03-11T11:46:38+00:00 DEBUG (7): event observed
2014-03-11T11:46:38+00:00 DEBUG (7): Array
(
)
我的观察者配置为在 controller_action_predispatch_customer_account_login
上触发。很明显,我在这里做错了,因为我无法获取我的 POST 数据(我尝试了其他一些绝望的方法,但据我所知,这是你“应该”获得 Controller 的方式和观察者方法中的 POST 数据)。
最佳答案
使用Mage::app()->getRequest()->getParams()
它将返回发送到被调用 Controller 操作的所有参数的数组
希望对你有帮助
关于php - 在 Magento 观察器中获取 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22324889/