假设您拥有域对象产品和颜色。每种产品可以分配不同的颜色,每种颜色分配给多个产品(m:n);在后端控制产品的分配。
接下来,假设我们必须将每种产品和每种颜色一对一翻译。在创建所有产品和颜色后,它将转换为翻译。首先是颜色然后翻译产品。
如果A
我现在假设如果我翻译产品,标准语言中的所有选定颜色都必须由相应的翻译替换:
对于大量的产品和颜色,手动翻译会有自杀倾向!因为对于每种产品和每种颜色旁边的每种语言,所有关系都必须重新创建。但是没有必要这样做,因为所有语言中的关系都保持不变。
如果B
我会认为可以保持与原始语言颜色的关系:
但是在变化方面,我不仅要更改默认语言中的产品,还要更改所有翻译。对于大量数据,这也是不可接受的!
因此,对于必须手动维护数据的情况,自动同步关系似乎是保持其可管理性的唯一方法。
所以我的问题是,哪些已识别的变体A
和B
是翻译关系的权利?通过后端挂钩进行同步是保持手动维护成本尽可能低的唯一方法吗?
答案 0 :(得分:0)
最佳解决方案似乎不是在示例中转换colors
之类的关系。这可以通过使用值为exclude
的{{3}}来实现TCA中的相应字段。
答案 1 :(得分:0)
如果要创建与此字段进行比较的存储库查询,请注意使用l10n_mode=exclude
。翻译的记录中不存在此字段,因此您的查询可能会失败。见http://www.dmitry-dulepov.com/2015/01/strange-code-in-extbase-persistance.html