Fluid,从另一个扩展访问locallang.xlf

时间:2016-09-28 15:13:56

标签: typo3 fluid typo3-7.6.x tx-news

我有一个自己的模板,在这个模板中我覆盖了tx_news的模板:

plugin.tx_news.view {

    templateRootPaths.1 = EXT:my_template/Resources/Private/News/Templates/
    partialRootPaths.1  = EXT:my_template/Resources/Private/News/Partials/
    layoutRootPaths.1 = EXT:my_template/Resources/Private/News/Layouts/
}

现在我想从my_template访问locallang.xlf。我在my_template的ext_table.php中尝试了这个:

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
    'tt_content.pi_flexform.news_pi1.list', 'EXT:my_template/Resources/Private/Language/locallang.xlf');

在这个locallang.xlf中我有:

    <trans-unit id="tx_mytemplate.news">
        <source>NEWSTEST</source>
    </trans-unit>

然后在tx_news List.html中我有:

<f:translate key="tx_mytemplate.news" />

但我没有得到任何输出。

1 个答案:

答案 0 :(得分:3)

有两种方法可以完成您正在尝试的任务。

  1. 将参数extensionName添加到USAGE ViewHelper,如下所示:f:translate
  2. 将您的locallang密钥添加为完整路径,如<f:translate key="tx_mytemplate.news" extensionName="MyTemplate" />
  3. 我更喜欢第一种方式,因为它更短,你可以让extbase / fluid决定在哪里搜索文件。