繁体   English   中英

Neos / Flow中的领域模型本地化

[英]Localization of Domain Models in Neos / Flow

我目前正在与Neos / Flow合作开发的网站包括一个作为Flow Plugin实现的自行开发的商店系统。 产品,变体和凭证均作为域模型保留。 由于客户希望以不同的语言提供其网站,因此我需要找到一种方法来管理域对象的翻译。 我找不到将其翻译成Neos / Flow的方法,所以我的第一个想法是将翻译标识符简单地插入可翻译字段(描述和类似内容)中,然后将其与翻译viewhelper一起用于视图中。 如果客户不想自己编辑这些字段,这将完全正常。

我的下一个想法是为每个语言维度和每个可翻译字段实现一个额外的字段(例如description_en; description_es,...)。 但是,就可维护性和可变性而言,这将是最糟糕的方法。 我通常在TYPO3项目中工作,在这些项目中,域对象的转换非常容易并且可以立即使用。 因此,Neos内部的这种体验非常令人沮丧。

是否有人遇到过类似的问题,甚至找到了解决方案?

到目前为止,只要需要多语言内容,我们就通过将数据存储在Neos Content Repository中来解决。 这样,语言处理(即尺寸)即开即用。 另外,通过使用内联编辑或内容模块的检查器,为该记录构建UI非常容易。

注意,在CR中存储数据并不一定意味着您必须将其存储在/ site根节点下。 您还可以添加一个新的根节点/products来存储您的产品。

您可以查看https://github.com/neos/metadata-contentrepositoryadapter ,其中元数据存储在其自己的根目录下。

希望能有所帮助,干杯,丹尼尔

记录下来,也可以通过纯Flow中的Doctrine Translateable扩展来实现:

https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/translatable.md

有关如何在Flow中激活扩展程序,请参见http://flowframework.readthedocs.io/en/stable/TheDefinitiveGuide/PartIII/Persistence.html#on-the-doctrine-event-system

但是,更干净的方法实际上是实际上将域模型和内容分开(除非您构建了CMS,而内容是您的域;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM