Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento可以';t所需字段错误的批量更新属性_Magento_Attributes_Required - Fatal编程技术网

Magento可以';t所需字段错误的批量更新属性

Magento可以';t所需字段错误的批量更新属性,magento,attributes,required,Magento,Attributes,Required,我希望有人能解释一下: 我正在使用Magento中的搜索功能查找具有特定属性的产品,然后选择这些产品并使用“更新属性”功能将数据添加到(更新)不同的属性字段 在某些情况下,这可以正常工作,记录新的属性数据,一切正常。在其他选择中,当我尝试保存新属性数据时,会出现红色警告“这是必填字段”。的确,它指定的字段是必填字段,但由于我没有更新该特定字段,所以我没有勾选它下面的复选框,因此应该忽略该字段 如果我关闭高亮显示字段的“必填字段”选项,则新属性数据将被保存,但:它会在其他属性的加载中擦除数据,这意

我希望有人能解释一下:

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

在某些情况下,这可以正常工作,记录新的属性数据,一切正常。在其他选择中,当我尝试保存新属性数据时,会出现红色警告“这是必填字段”。的确,它指定的字段是必填字段,但由于我没有更新该特定字段,所以我没有勾选它下面的复选框,因此应该忽略该字段

如果我关闭高亮显示字段的“必填字段”选项,则新属性数据将被保存,但:它会在其他属性的加载中擦除数据,这意味着我将丢失产品属性中的有价值数据。它似乎在我一天中使用它的头几次时就起作用了,然后它吐出了它的假人,并提出了所需的字段问题

我在谷歌Chrome和Firefox上都试过了。正如我所说,有时它会起作用,有时它不会。我一次选择20-100种产品。我甚至试过只选择一种产品,但仍然会在该产品上出现相同的错误

我在Magento 1.7.0.2上

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


有人能解释为什么会发生这种情况吗?在搜索引擎中没有任何关于它的内容,这真的让我慢了下来

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

为什么?

很可能是由于错误的属性在属性之上的某个地方失败

function disableFieldEditMode(fieldContainer) {
    try {
        $(fieldContainer).disabled = true;
        if ($(fieldContainer + '_hidden')) {
            $(fieldContainer + '_hidden').disabled = true;
        }
    }
    catch(exception) {
    }
}
备选案文1。由于我不知道是什么属性或属性问题,请修改js/mage/adminhtml/product.js并更改此函数以忽略错误的属性

function disableFieldEditMode(fieldContainer) {
    try {
        $(fieldContainer).disabled = true;
        if ($(fieldContainer + '_hidden')) {
            $(fieldContainer + '_hidden').disabled = true;
        }
    }
    catch(exception) {
    }
}
备选案文2。从产品中删除错误属性(可能需要删除限制)

备选案文3。修复错误的属性。在我的案例中,违规模块是AWU Onsale

它试图呈现一个不存在的前端模型:onsale/system\u entity\u form\u element\u position

select attribute_code, frontend_model from eav_attribute where attribute_code like '%aw_os_%';
aw_os_产品_位置|销售/实体_属性_前端_位置

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%';

看起来,如果您的一个产品没有此必需属性的值,则无法为另一个属性对其进行批量更新。请确保您的所有产品都具有此属性的值,或为其设置默认值。感谢您的回复。这给了我一个短暂的希望,但不幸的是,确保每个必需的属性都有一个默认值是行不通的。我做了一些早期的测试,并尝试使用批量更新属性功能只更新一个产品上的一个属性,但仍然出现同样的问题。还有其他建议吗?嗨,本,我刚刚看到你对这个问题的回复,因为我从来没有解决过这个问题,但我想我应该再看看。无论如何,我也使用AW onsale,所以我认为选项3可能是我前进的方向。我运行了SQL,它更改了2个条目,但不幸的是仍然没有运气。我可以问一下,您如何知道哪个模块有问题?我猜我可能在某个地方隐藏了另一个有问题的问题。尝试选项1,在catch语句中添加对console.log(fieldContainer)的调用,然后使用chrome检查器。