0

假设您拥有域对象产品和颜色。每个产品可以分配不同的颜色,每种颜色分配给多个产品(m:n);分配在关于产品的后端进行控制。

1

接下来,假设我们必须一对一地翻译每种产品和每种颜色。在创建所有产品和颜色之后,它会进入翻译阶段。首先是颜色,然后是产品。

如果A我现在假设如果我正在翻译产品,则标准语言中的所有选定颜色都必须替换为相应的翻译:

在此处输入图像描述

对于大量的产品和颜色,手动翻译会是自杀!因为对于每种产品和每种颜色旁边的每种语言,也必须重新创建所有关系。但是没有必要这样做,因为所有语言中的关系都是一样的。

如果B我假设可以保持与原始语言中颜色​​的关系:

在此处输入图像描述

但是在更改时,我不仅要更改默认语言的产品,还要更改他的所有翻译。这对于大量数据也是不可接受的!

因此,对于必须手动维护数据的情况,关系的自动同步似乎是保持其可管理性的唯一方法。

所以我的问题是哪些已识别的变体A以及B翻译关系的权利?通过后端钩子进行同步是保持手动维护成本尽可能低的唯一方法吗?

4

2 回答 2

0

最好的解决方案似乎不是像colors示例中那样翻译这种关系。这可以通过使用TCA 中相应字段l10n_mode的值来实现。exclude

于 2014-07-25T00:51:59.057 回答
0

l10n_mode=exclude如果要创建与此字段进行比较的存储库查询,请注意使用。此字段在已翻译记录中不存在,因此您的查询可能会失败。见http://www.dmitry-dulepov.com/2015/01/strange-code-in-extbase-persistance.html

于 2017-02-06T22:22:28.070 回答