自定义字段能显示旧值,修改保存后数据库为空。显示只证明DataProvider读取成功,保存还依赖dataScope与POST路径。

排查路径

  • 查看保存请求payload,确认字段位于data[general][field]、field或其他实际路径。
  • 检查form namespace、dataSource、fieldset和field dataScope,Provider getData结构与JS期待层级一致。

落地修复

  1. Controller/Repository从同一路径取值,并写入模型允许字段或Extension Attribute,数据库列必须存在。
  2. 布尔字段配置valueMap,空值区分“清除”和“未提交”,避免0被过滤。
rg -n 'dataScope|namespace|provider' view/adminhtml/ui_component app/code
SHOW COLUMNS FROM vendor_entity LIKE 'custom_field';

完成标准

新建、编辑、清空和值为0四种情况保存后重新打开均正确,Repository/API读取一致。