typo3 - TYPO3CMS:与内容不同的菜单语言
问题描述
我们的客户想要,为什么不呢,西班牙主页,但菜单应该参考英文页面。
不幸的是,英语不是系统中的默认语言。
这是否有可能在 TYPO3 中实现?
菜单是通过 Typoscript 生成的:
lib.nav = HMENU
lib.nav {
wrap = <ul class="noListStyle">|</ul>
entryLevel = 0
1 = TMENU
1 {
noBlur = 1
expAll = 1
NO = 1
NO {
wrapItemAndSub = <li>|</li>
ATagParams = data-id="{field:uid}"
allStdWrap.insertData = 1
}
CUR < lib.nav.1.NO
CUR {
wrapItemAndSub = <li class="active">|</li>
}
ACT < lib.nav.1.NO
ACT {
wrapItemAndSub = <li class="active">|</li>
}
IFSUB < lib.nav.1.NO
IFSUB {
wrapItemAndSub = <li class="hasChildren">|</li>
# doNotLinkIt = 1
}
CURIFSUB = 1
CURIFSUB {
wrapItemAndSub = <li class="hasChildren active">|</li>
}
ACTIFSUB = 1
ACTIFSUB {
wrapItemAndSub = <li class="hasChildren active">|</li>
}
SPC = 1
SPC {
doNotLinkIt = 1
doNotShowLink = 1
allWrap = <li class="spacer">|</li>
}
}
2 < lib.nav.1
2 {
wrap = <ul class="navSub">|</ul>
}
}
解决方案
回退到默认语言之外的另一种语言的解决方案是使用config.sys_language_mode = content_fallback
. 正如您可以在文档中阅读的那样,使用此模式,您可以指定一些语言 UID,您想要回退到哪种语言:https ://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/Index.html#sys-language -模式
但是,页面上的内容仍然可以回退到另一种语言,由该关键字的值定义,例如 content_fallback;1,3,0,回退到 sys_language_uid 1 的内容,然后回退到 sys_language_uid 3 的内容如果它也不存在,则默认为 (0)。
在您的情况下,您仍然必须找到一种方法,如何从菜单中隐藏西班牙语页面,但可以回退到英语。也许页面语言覆盖配置中有一些东西?
在最坏的情况下,您可以通过请求数据库“手动”获得 TMENU 对象中的页面标题。
编辑:如何手动命名西班牙语页面标题和英文标题?
推荐阅读
- azure-keyvault - 如何将 Azure Key Vault 滚动证书与 OpenIddict 一起使用?
- c - 按降序对结构进行排序
- perl - 使用 Config::Simple 配置文件中的换行符存储和读取字符串
- javascript - 如何将部分文本包装在具有“display:flex and justify-content:space-between”样式的节点中?
- swift - 如何在 macOS 菜单栏应用程序中显示多行?
- google-sheets - Google Sheet:如何对齐两个时间序列
- php - nginx 返回 200 但为空响应
- php - PHP 致命错误:未捕获的错误:未找到“Mongo”类
- python - 如何访问嵌套数组中的变量?
- bash - 将条件参数传递给 bash 中的 curl