我刚刚向Magento报告了一个错误(http://www.magentocommerce.com/bug-tracking/issue?issue=11842),我想知道是否有人在这里看到过这个问题并找到了解决方案。
事情就是这样:
对于后端产品编辑页面中的任何日期类型字段:
1-切换到商店视图
2-取消选中“使用默认值”(对于日期字段)
3-选择日期
4-保存产品并继续编辑
5-重新检查“使用默认值”
6-保存产品并继续编辑
“使用默认值”复选框保持未选中状态:(
字段值为空且可编辑:(
我尝试了几次谷歌搜索并没有找到任何有效的答案。
非常感谢分享我有一个线索。
答案 0 :(得分:1)
这已在CE 1.5中修复 以下是如何修复以前的版本。
编辑app / code / core / Mage / Eav / Model / Entity / Attribute / Backend / 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);
}
}