symfony - 如何在 showMapper 中更新对象中的字段
问题描述
我正在奏鸣曲中创建一个联系人数据库区域,并且我在实体上有一个“读取”标志。当用户点击实体的显示操作时,我希望将此读取标志设置为 true。我在 Sonata 的 showMapper 中看不到任何允许这样做的事件。
有人设法做到这一点或知道它是否可能吗?
$showMapper
->add('name')
->add('subject')
->add('message')
->add('email','email');
虽然我没有显示读取标志,但我希望在调用 showMapper 时自动将其设置为 true。
谢谢
解决方案
我找到了答案,奏鸣曲在所有不同类型的管理员配置上触发事件,其中一个事件称为“sonata.admin.event.configure.show”,这是在编辑或显示管理员时触发的。
这非常适合我的需要,因此我创建了一个侦听器来侦听该事件,然后在其中进行了实体编辑。
唯一的限制是它会在所有编辑/节目中触发,所以我需要在侦听器中检查它是哪个管理员,如果不是我想要的管理员,则将其打折——这对于解决这个问题会很好。
推荐阅读
- ios - 在 AppSync 中获取“软件导致连接中止”
- javascript - 从 html javascript 中删除反斜杠
- r - R如何逐步将向量的元素相加?
- google-cloud-platform - 在 GKE 上安装 coredns
- java - OkHttp3 在慢速互联网上从不超时
- scala - 如何动态替换 Spark jar 中的类型安全包含语句
- c++ - 构建静态qt时未解决的外部问题
- symfony - Symfony,集合,多个实体,得到arrayCollection,需要实体
- ios - 如何使用 SwiftLint 排除 Pod 警告
- .net - ASP.NET Web 表单中的内存不足异常