【问题标题】:Extbase: get/save specific language of objectExtbase:获取/保存对象的特定语言
【发布时间】:2014-11-18 11:43:14
【问题描述】:

在 CommandController 中,我需要将对象与外部源同步。源是多语言的,应该映射到 Typo3 中的本地化记录。

我似乎太盲目了,无法找到……的选择

a) 获取特定语言的记录

b) 添加/更新特定语言的记录 ...(来自 CommandController 上下文)。

我希望这是模型 (AbstractEntity) 或存储库的函数,但在那里找不到任何公共 lang/sys_lang/localize-functions。

(Typo3 版本 6.2)

【问题讨论】:

    标签: typo3 extbase


    【解决方案1】:

    您可以在您的存储库类中编写一个方法来获取所有具有您需要的 sys_language_uid 的记录,并使用该方法来获取所有记录。

    如果您的模型没有 sys_language_uid,请添加它以便您可以在控制器中使用它。 (如果你的模型有 sys_laguage_uid,你可以使用 $yourrepo->findBySysLanguageUid(1) )

    您可能需要更改 defaultQuerySettings 以便您可以检索任何语言,关于站点语言(如果您使用的是 FE ext)

    添加特定语言的记录是 $yourobject->setSysLangUid(1); (或任何语言 ID)

    【讨论】:

    • 谢谢。我将它添加到模型中并能够通过以下方式检索记录:` $q = $this->propertyRepository->createQuery(); $q->getQuerySettings()->setRespectSysLanguage(FALSE); $q->matching( $q->logicalAnd( $q->equals('sysLanguageUid', $sysLangUid), ... (其他约束) ) ); ` 但是要设置我实际需要做的语言$object->_setProperty('_languageUid', $sysLangUid);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 1970-01-01
    • 2018-02-26
    相关资源
    最近更新 更多