我在 Magento 2 中手动创建了一个属性,称为 xml_feedsource (keyname)。它有 attribute_id 306。
然后我以编程方式添加带有代码的产品:
$product->setXmlFeedsource('used');
即使我回到 productgrid,它也显示“used”,因为它应该是。
当我在管理员的字段中输入其他值,如“测试”并保存产品时,同样的情况仍然存在(在网格中显示“已使用”,但在产品中什么也没有显示)。它实际上不保存该属性的更新值(它保存其他属性)。
我试着用一个小的阅读脚本来测试它:
echo "xfs: ".$product->getXmlFeedsource()."\n";
没有任何价值。
即使我查看
catalog_product_entity_varchar
表中的数据库,它也会显示 attribute_id 306 的“已使用”值:
检查 is_user_defined 变量是否错误,但似乎配置正确:
我得到零错误并且还检查了 system.log 和 exception.log。那里也没什么可读的。
我不知道为什么这个属性没有得到正确处理。