在typo3中渲染Extbase扩展中的多语言记录

时间:2016-01-01 06:50:12

标签: typo3 extbase typo3-7.x

我正在使用TYPO3 7.6并使用findAll()和findByUid()方法渲染多语言记录。我在我的存储库中写下了以下代码

/*
* Initialize Default Settings
*/
public function initializeObject() {
    $querySettings = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Typo3QuerySettings');
    $querySettings->setRespectStoragePage(FALSE);
    $querySettings->setRespectSysLanguage(TRUE);
    $this->setDefaultQuerySettings($querySettings);
}

我的网站上有两种语言。和我的记录在前端正确呈现。我的问题如下。

uid     name    fcounter sys_language_id        l10n_parent
________________________________________________________
1       abc       2       0                      0
________________________________________________________
2       abc-en    0       1                      1

他们是否可以使用findByUid()或任何其他Repository方法来增加两种语言fcounter字段?

1 个答案:

答案 0 :(得分:0)

最简单的方法是更新模型的TCA定义。 重要的值是“l10n_display”。

  

defaultAsReadonly - 这将该字段呈现为只读字段,其中包含默认语言记录的内容。即使'l10n_mode'设置为'exclude',也会呈现该字段。虽然'exclude'定义了不翻译的字段,但此选项会激活默认数据的显示。

TYPO3 Documentation

"fcounter" => array(
                    "exclude"      => 1,
                    "l10n_mode"    => "exclude",
                    "l10n_display" => "defaultAsReadonly",
                    .....
            ),