簡體   English   中英

在Magento觀察者中獲取POST數據

[英]Getting POST data in Magento observer

所以,我正在努力解決這個問題,我有一個觀察員設置,以便在客戶/帳戶/登錄被點擊時觸發。 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數據(我已經嘗試了一些其他絕望的方法,但從我可以告訴你這是如何“應該”得到一個控制器和觀察者方法中的POST數據)。

使用Mage::app()->getRequest()->getParams()

它將返回發送到被調用控制器操作的所有參數的數組

希望這對你有所幫助

而不是控制器使用應用程序

代替

Mage::log(print_r($controller->getRequest()->getPost(), true));

改成

Mage::log(print_r(Mage::app()->getRequest()->getPost(), true));

因此,您使用$ app來獲取帖子詳細信息,而不是控制器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM