微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Sulu:如何使自定义实体可翻译?

如何解决Sulu:如何使自定义实体可翻译?

所以我有我的自定义实体类型,按照官方教程创建它:

https://docs.sulu.io/en/2.2/book/extend-admin.html

然而,我得到的实体不像标准页面文章那样可翻译。我也没有任何关于如何使其可翻译的信息。预期行为只是作为那些标准类型工作。 如何实现?

解决方法

基本上要做三件事:

  1. 您必须为自定义实体添加一个新的 Translation 实体。因此,如果您有一个 Event 实体,则需要一个额外的 EventTranslation 实体。见https://github.com/sulu/sulu-workshop/tree/master/src/Entity

  2. 您需要告诉 Sulu,您的自定义实体可通过将可用区域设置添加到您的 AppAdmin 类中的视图来翻译,请参阅 https://github.com/sulu/sulu-workshop/blob/master/src/Admin/EventAdmin.php#L74

  3. 您需要调整自定义实体的管理控制器(它现在会收到一个 locale 请求参数)以将本地化的属性持久化到 CustomEntityTranslation 而不是 CustomEntity 本身,见https://github.com/sulu/sulu-workshop/blob/master/src/Controller/Admin/EventController.php

总之,Sulu 只负责在右上角显示区域设置切换器,并将当前选择的区域设置作为 locale 参数附加到您的 api 调用中。其他一切完全取决于您,您必须像在普通的 symfony 应用程序中一样实现它

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。