2011-07-07 30 views
1

我剛剛向Magento報告了一個錯誤(http://www.magentocommerce.com/bug-tracking/issue?issue=11842),我想知道是否有人在這裏看到了這個問題,並找到了解決方案。無法回滾到日期字段上的「使用默認值」

這裏是東西:

對於後端產品的編輯頁面的任何日期型字段:

1切換到商店視圖

2 - 取消選中「使用默認」(對於日期字段)

3-選擇了日期

4-保存產品,然後繼續編輯

5複覈「使用默認」

6-保存的產品,並繼續編輯

「使用默認」複選框選中停留:(

字段值是空的,可編輯:(

我已經嘗試了幾次Google搜索,沒有找到任何可行的答案。

非常感謝分享我有一個線索。

+0

任何特定的領域? 「從新到舊」的產品在概念上是全球性的,就像「特殊價格來自」一樣,設計選項卡的「從...開始」設置爲網站。特殊'來源於'不一定是'全球' - 有數據庫中的商店標識符,但我沒有檢查過在前端配置屬性的方式。如果你可以在有幫助的領域更具體。 –

回答

1

這已修復CE 1.5 以下是如何解決它以前的版本。

編輯app /代碼/核心/法師/ EAV /型號/實體/屬性/後端/ Datetime.php

更換

public function beforeSave($object) 
{ 
    $attributeName = $this->getAttribute()->getName(); 
    $_formated = $object->getData($attributeName . '_is_formated'); 
    if (!$_formated && $object->hasData($attributeName)) { 
     try { 
      $value = $this->formatDate($object->getData($attributeName)); 
     } catch (Exception $e) { 
      throw new Exception("Invalid date."); 
     } 
     $object->setData($attributeName, $value); 
     $object->setData($attributeName . '_is_formated', true); 
    } 
} 

public function beforeSave($object) 
{ 
    $attributeName = $this->getAttribute()->getName(); 
    $_formated = $object->getData($attributeName . '_is_formated'); 
    if (!$_formated && $object->hasData($attributeName)) { 
     try { 
      $value = $this->formatDate($object->getData($attributeName)); 
     } catch (Exception $e) { 
      throw new Exception("Invalid date."); 
     } 

     if (is_null($value)) { 
      $value = $object->getData($attributeName); 
     }    

     $object->setData($attributeName, $value); 
     $object->setData($attributeName . '_is_formated', true); 
    } 
}