TYPO3 tt_content 结构:t3_origuid vs l18n_parent
TYPO3 tt_content structure: t3_origuid vs l18n_parent
我不得不将一些帖子从一个 TYPO3 站点导入到另一个站点,这导致了对数据库结构的一些探索。出现了一个具体问题:
在本地化的内容元素中(tt_content 个 sys_language_uid = 1 的条目),字段 t3_origuid
和 l18n_parent
被冗余填充。后端本地化视图需要 l18n_parent
才能工作。
它们总是具有相同的值吗?或者是否存在字段值可以不同的用例?
这些字段可以有不同的值。
t3_origuid
是一个通用字段,指向以某种方式从中派生当前记录的记录。例如通过复制或本地化它。 Here 是它的一些文档。
字段 l18n_parent
保留用于本地化目的。
作为 Jost 的 post:
的补充
要确定您应该使用哪个字段,请检查以下值:
$TCA['tx_yourtable']['ctrl']['transOrigPointerField']
即。 tt_content
是:
$TCA['tt_content']['ctrl']['transOrigPointerField'] = 'l18n_parent';
l10n_parent / l18n_parent
在TCA中配置为transOrigPointerField
(通常是l10n_parent
或l18n_parent
)的字段用于本地化。
它始终包含默认语言记录的 ID(即使该记录是从非默认语言记录翻译而来的),参见 https://docs.typo3.org/typo3cms/TCAReference/singlehtml/#transorigpointerfield
t3_origuid
在TCA中配置为origUid
(通常是t3_origuid
)的字段在复制或翻译记录时被填充,并包含源记录的id,参见https://docs.typo3.org/typo3cms/TCAReference/singlehtml/#origuid
在某些情况下,这些字段将具有相同的值(例如,从默认语言翻译记录),但在其他情况下将具有不同的值。例如。在同一页上复制记录时 t3_origuid
将不同于 l10n_parent
.
要允许本地化,需要 transOrigPointerField
(l10n_parent
)。拥有 origUid
(t3_origuid
) 字段不是硬性要求,而是一种很好的做法,因为一些附加功能可能需要它才能工作。特别是在较新版本的 TYPO3 中。例如,翻译向导当前正在使用 t3_origuid
字段。
l10n_source(自 TYPO3 8.6 起)
自 TYPO3 8.6 以来,针对 tt_content
table 引入了新的数据库字段 l10n_source
以及新的 TCA ctrl 配置 translationSource
。 translationSource
字段包含用作翻译源的记录的 uid,无论该记录是在自由模式下还是在连接模式下翻译的。
中查看更多内容
我不得不将一些帖子从一个 TYPO3 站点导入到另一个站点,这导致了对数据库结构的一些探索。出现了一个具体问题:
在本地化的内容元素中(tt_content 个 sys_language_uid = 1 的条目),字段 t3_origuid
和 l18n_parent
被冗余填充。后端本地化视图需要 l18n_parent
才能工作。
它们总是具有相同的值吗?或者是否存在字段值可以不同的用例?
这些字段可以有不同的值。
t3_origuid
是一个通用字段,指向以某种方式从中派生当前记录的记录。例如通过复制或本地化它。 Here 是它的一些文档。
字段 l18n_parent
保留用于本地化目的。
作为 Jost 的 post:
的补充要确定您应该使用哪个字段,请检查以下值:
$TCA['tx_yourtable']['ctrl']['transOrigPointerField']
即。 tt_content
是:
$TCA['tt_content']['ctrl']['transOrigPointerField'] = 'l18n_parent';
l10n_parent / l18n_parent
在TCA中配置为transOrigPointerField
(通常是l10n_parent
或l18n_parent
)的字段用于本地化。
它始终包含默认语言记录的 ID(即使该记录是从非默认语言记录翻译而来的),参见 https://docs.typo3.org/typo3cms/TCAReference/singlehtml/#transorigpointerfield
t3_origuid
在TCA中配置为origUid
(通常是t3_origuid
)的字段在复制或翻译记录时被填充,并包含源记录的id,参见https://docs.typo3.org/typo3cms/TCAReference/singlehtml/#origuid
在某些情况下,这些字段将具有相同的值(例如,从默认语言翻译记录),但在其他情况下将具有不同的值。例如。在同一页上复制记录时 t3_origuid
将不同于 l10n_parent
.
要允许本地化,需要 transOrigPointerField
(l10n_parent
)。拥有 origUid
(t3_origuid
) 字段不是硬性要求,而是一种很好的做法,因为一些附加功能可能需要它才能工作。特别是在较新版本的 TYPO3 中。例如,翻译向导当前正在使用 t3_origuid
字段。
l10n_source(自 TYPO3 8.6 起)
自 TYPO3 8.6 以来,针对 tt_content
table 引入了新的数据库字段 l10n_source
以及新的 TCA ctrl 配置 translationSource
。 translationSource
字段包含用作翻译源的记录的 uid,无论该记录是在自由模式下还是在连接模式下翻译的。