Localization FAL文件引用不是';t定位于FE中
在TYPO3 6.2中,在我的模型中,我有一个名为Localization FAL文件引用不是';t定位于FE中,localization,typo3,extbase,typo3-6.2.x,fal,Localization,Typo3,Extbase,Typo3 6.2.x,Fal,在TYPO3 6.2中,在我的模型中,我有一个名为documents的文件公共字段,它是\TYPO3\CMS\Extbase\Domain\model\FileReference的ObjectStorage 问题是在本地化页面上,就在我创建我的obj的本地化版本时,它的所有字段都已正确本地化,但不是文档-它始终使用来自默认语言的文件引用:/I我了解了有关此问题的未解决错误,但没有解决方法。。。有人能建议我怎么做吗 如果没有任何帮助,我将只编写自己的FileRef模型,但最好避免这种情况,因为有几
documents
的文件公共字段,它是\TYPO3\CMS\Extbase\Domain\model\FileReference的ObjectStorage
问题是在本地化页面上,就在我创建我的obj的本地化版本时,它的所有字段都已正确本地化,但不是文档
-它始终使用来自默认语言的文件引用:/I我了解了有关此问题的未解决错误,但没有解决方法。。。有人能建议我怎么做吗
如果没有任何帮助,我将只编写自己的FileRef
模型,但最好避免这种情况,因为有几个地方需要更改
我在模型中的字段(getter和setter是标准的)
如果TYPO3的前端是关于覆盖页面
的翻译,那么它有两个bug。原因是,此表使用专用表pages\u language\u overlay
保存这些翻译
翻译页面时,子记录(文件引用)不会复制到新的本地化记录。如果与内容元素相比,行为应该是相同的。修复此行为将只集成在TYPO3 CMS 7和CMS 8中,请参阅以了解未来几天/几周的进度
如果您在原始语言记录和翻译后的记录之间共享文件引用,这意味着翻译后的记录不定义单独的文件引用,那么在前端显示翻译后的页面时,您可以通过修改TCA来绕过这些空文件引用
// put that to some TCA Overrides file, e.g.
// typo3conf/ext/my_ext/Configuration/TCA/Overrides/pages_language_overlay.php
$GLOBALS['TCA']['pages_language_overlay']['columns']['documents']['l10n_mode'] = 'exclude';
使用exclude
模式指示TYPO3在前端呈现过程中跳过对文档
字段的覆盖。覆盖过程发生在PageRepository
中,当PageRepository
模型从存储中重新构建时,Extbase也会调用该过程。p.S.需要指出的是,由于某些原因,我无法向TYPO3的源代码中添加补丁。这是一个很长的故事,我从一年以来一直在关注。提供的补丁已经很少了,所以您可以尝试其中的一些-也许它可以解决您的问题,而目前还没有通用的silution。不幸的消息是,我被判有罪,因为我自己的FileRef:/
'documents' => array(
'exclude' => 1,
'label' => 'Documents',
'config' =>
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'documents',
array('maxitems' => 999)
),
),
// put that to some TCA Overrides file, e.g.
// typo3conf/ext/my_ext/Configuration/TCA/Overrides/pages_language_overlay.php
$GLOBALS['TCA']['pages_language_overlay']['columns']['documents']['l10n_mode'] = 'exclude';