2012-03-16 50 views
3

不知道什麼時候開始發生,但我的購物車網頁上有一個運送估算器不工作。填寫信息並點擊「獲取報價」後,頁面將重新加載,但不向用戶顯示任何運輸方式......就好像表單提交時爲空白值一樣。形式分:Magento Shipping Estimator - 不工作(空的結果)

public function estimatePostAction() 
{  
    $country = (string) $this->getRequest()->getParam('country_id'); 
    $postcode = (string) $this->getRequest()->getParam('estimate_postcode'); 
    $city  = (string) $this->getRequest()->getParam('estimate_city'); 
    $regionId = (string) $this->getRequest()->getParam('region_id'); 
    $region  = (string) $this->getRequest()->getParam('region'); 

    $this->_getQuote()->getShippingAddress() 
     ->setCountryId($country) 
     ->setCity($city) 
     ->setPostcode($postcode) 
     ->setRegionId($regionId) 
     ->setRegion($region) 
     ->setCollectShippingRates(true); 

    $this->_getQuote()->save(); 
    $this->_goBack(); 
} 

我添加了一個法師::日誌:

checkout/cart/estimatePost 

這些都(在應用程序/代碼/核心/法師/結帳/控制器/ CartController.php)的內容這裏檢查請求:

$request = $this->getRequest()->getParams(); 
Mage::log($request, null, 'temp.log'); 

被記錄的數組是完全空的。沒有參數甚至到達這裏。

我看了一下表格本身,它和開發網站上的表單完全一樣(工作正常)。所以問題不在於形式本身。

唯一真正合乎邏輯的結論是,另一個模塊正在把事情搞砸。我已經通過重寫CartController.php的不同模塊進行了檢查,雖然有一些正在這樣做,但他們沒有一個正在搞亂guessPostAction()方法。

我有點困惑,有什麼想法?

回答

4

神聖煙。網站所有者必須改變的東西HTTPS:在服務器上的關係,因爲我是從改變形式的行動:

$this->getUrl('checkout/cart/estimatePost') 

要:

$this->getUrl('checkout/cart/estimatePost', array('_secure'=>true)) 

現在它的工作原理。

+1

你的意思是你添加'array('_ secure'=> true)否則PHP會爲' - >'引發一個'意外的T_OBJECT_OPERATOR'錯誤) – Jongosi 2015-02-05 22:39:17

+1

固定。更好?? – pspahn 2015-02-05 23:26:56

+0

就是這樣:)解決方案中的+1,thx。 – Jongosi 2015-02-06 08:43:33