TYPO3 12,PHP 8.2。 我想强制某种 CONTENT 对象的语言,以便它适用于所有语言,并且不得翻译。由于其内容不依赖于语言,这应该可以节省编辑器的工作。不幸的是这不起作用。我还没有找到任何关于如何强制使用 CONTENT、HMENU 或其他任何语言的文档...以下是我正在尝试做的事情的简化版本,但应该阐明这一点...
lib.socialMediaMenu = CONTENT
lib.socialMediaMenu {
table = pages
select {
pidInList ={$settings.nav.social}
where = sys_language_uid = 0
orderBy = sorting
}
# Wrap each link item
renderObj = COA
renderObj {
10 = TEXT
10 {
field = title
typolink {
parameter.field = uid
additionalParams = &L=0 # no sure if required
ATagParams = class="social-link"
}
wrap = <li>|</li>
}
}
wrap = <ul class="social-media-menu">|</ul>
}
TypoScript 仅影响前端渲染。所以对后端用户体验没有影响。
虽然可以查询不同语言的内容,但在您的情况下
where = sys_language_uid = 0
它不会阻止编辑器“翻译”元素,在这种情况下,他们可能会感到困惑为什么翻译后的更改不显示。
下面的这一行强制链接指向语言 0,因此它将更改用户浏览网站所用的语言。我猜这不是您想要的,即使您重新使用默认语言内容
additionalParams = &L=0 # no sure if required
一般来说,TYPO3 有语言后备等选项来处理翻译,具体取决于您的配置,如果没有翻译,“未翻译”内容可能会显示。
我不确定是否有一种“简单”的方法来阻止某些内容的翻译。