You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3 V12 多语言站点特定非默认语言内容显示问题求助

TYPO3 V12 实现区块仅在指定非默认语言显示的解决方案

方法一:直接创建指定语言的区块(推荐)

  • 跳过从默认英语版本翻译的步骤,直接在西班牙语语境下创建新的区块记录
  • 编辑该区块时,在「访问」标签页的「语言限制」选项中,只勾选「西班牙语」
  • 保存后,这个区块只会在西班牙语站点加载显示,其他语言(包括英语)都不会出现它,完全避开回退规则的干扰

方法二:基于翻译调整显示逻辑(适合必须用翻译的场景)

你之前的操作导致无内容,是因为隐藏英语版本后,其他语言回退到默认语言时也拿不到内容。可以这么改:

  • 不要隐藏英语版本的区块
  • 完成西班牙语的翻译内容编辑后,给英语版本的区块添加显示条件:
    1. 打开英语区块的编辑界面,找到「显示条件」设置
    2. 输入条件:[siteLanguage("languageId")] == 0(这里的0是英语的languageId,根据你的实际配置修改)
    3. 保存后,英语版本只会在默认语言(英语)中隐藏;西班牙语站点会加载翻译后的内容;其他非西班牙语的次要语言因为没有翻译版本,回退到英语版本但被条件隐藏,所以不会显示该区块

方法三:用Typoscript控制渲染

如果区块是通过Typoscript渲染的,直接在脚本里做语言判断:

lib.specialSpanishBlock = CONTENT
lib.specialSpanishBlock {
  table = tt_content
  select {
    uidInList = 你的区块UID
    # 仅选择西班牙语版本(假设西班牙语languageId为2)
    where = sys_language_uid = 2
  }
  # 仅在西班牙语站点输出
  stdWrap.if {
    value = 2
    equals.data = siteLanguage:languageId
  }
}

内容的提问来源于stack exchange,提问作者Paolo Deferre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 01:40:01