我写的Typo3扩展有问题。我在一个页面上展示了一个具有不同设计和功能的产品。对于我创建m:m关系表的设计和函数。
使用findByUid()
捕获产品对象。一切都在默认语言中正常工作。产品信息,设计和功能都在前端正确显示。
但是当我选择本地化的产品对象时,默认语言的设计和功能会显示在前端。
解释起来有点复杂。在后端,我创建产品对象并选择相应的本地化设计和功能。这也很好。
但是在前端,设计和功能从默认语言对象中显示,但已翻译。所有其他信息都是正确的。
仅当我为本地化产品对象选择l10n_parent
时才会出现此问题。如果未设置l10n_parent
,则前端的所有功能和设计都是正确的。
我也尝试过:
public function initializeObject() {
/** @var $querySettings \TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings */
$querySettings = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Typo3QuerySettings');
$querySettings->setRespectSysLanguage(FALSE);
$this->setDefaultQuerySettings($querySettings);
}
这并没有改变任何事情。
修改
这可能是一个不固定的错误:
https://forge.typo3.org/issues/47192
由于PHP 7的支持,我无法升级到LTS 8,因此不会很好。如果没有l10n_parent
,我的产品对象的后端将完全未分类,维护起来非常复杂。
答案 0 :(得分:0)
基本上你可以用默认语言使用记录的uid,让extbase根据给定的语言做覆盖的东西