Magento无法批量更新必填字段错误的属性

时间:2013-02-15 12:04:24

标签: magento attributes required

我希望有人可以对此有所了解:

我正在使用Magento中的搜索工具查找具有特定属性的产品,然后选择这些产品并使用“更新属性”功能将数据添加到(更新)不同的属性字段。

在某些情况下,这很好用,新的属性数据被记录下来并且一切都很好。在我尝试保存新属性数据时的其他选择中,它会出现红色警告“这是必填字段”。果然,它指定的字段是必填字段,但由于我没有更新该特定字段,所以我没有勾选它下面的复选框,应该忽略该字段。

如果我关闭突出显示字段的“必填字段”选项,则新属性数据将被保存但是:它会擦除其他属性的数据中的数据,这意味着我从产品属性中丢失了有价值的数据。看起来好像它在前几天使用它然后它会将它的假人吐出并提出所需的字段问题。

我在Google Chrome和Firefox上都试过这个。正如我所说,有时它会起作用,有时它不会。我一次选择20-100种产品。我甚至尝试过只选择一种产品,但仍然可以在该产品上获得相同的错误。

我在使用Magento 1.7.0.2

我确实遇到类似的问题,去年当我们使用1.6时属性数据被擦除了但我似乎记得它是一个Magento错误,当我们升级到更新的版本时修复了它。

任何人都可以解释为什么会发生这种情况吗?搜索引擎中没有任何东西出现在它上面,它真的让我失望了!

1 个答案:

答案 0 :(得分:3)

问题是默认情况下在更新属性页面中没有禁用属性,因此需要一个值。

为什么?

很可能是因为属性错误导致属性失败。

选项1.由于我不知道属性或属性问题,请修改js / mage / adminhtml / product.js并更改此函数以忽略错误属性。

function disableFieldEditMode(fieldContainer) {
    try {
        $(fieldContainer).disabled = true;
        if ($(fieldContainer + '_hidden')) {
            $(fieldContainer + '_hidden').disabled = true;
        }
    }
    catch(exception) {
    }
}

选项2.从产品中删除faulty属性(您可能需要删除限制)。

update eav_attribute set is_user_defined = 1 where attribute_code like 'foo_bar';

选项3.修复故障属性。在我的情况下,违规模块是AW_Onsale。

它试图渲染一个不存在的前端模型:onsale / system_entity_form_element_position

select attribute_code, frontend_model from eav_attribute where attribute_code like '%aw_os_%';

aw_os_product_position | Onsale的/ entity_attribute_frontend_position

update eav_attribute set frontend_model = null where attribute_code like '%aw_os_product_position%';
update eav_attribute set frontend_model = null where attribute_code like '%aw_os_category_position%';