首页 > 解决方案 > Typo3 vhs 语言返回 id 而不是语言

问题描述

我尝试设置具有 3 种不同语言的语言菜单。对于英语和德语它的工作。它将当前语言显示为 EN 或 DE。但是当我切换到意大利语时,它只在前端显示 id (7)。

我的代码是:

{v:page.language(languages: 'EN,DE,IT', pageUid: '0', normalWhenNoLanguage: 'EN')

语言设置:

[globalVar = GP:L = 1]
    config {
        sys_language_uid = 1
        language = de
        locale_all = de_DE.UTF-8
        htmlTag_setParams = lang="de" dir="ltr" class="no-js"
    }
[global]

[globalVar = GP:L = 2]
    config {
        sys_language_uid = 2
        language = fr
        locale_all = fr_FR.UTF-8
        htmlTag_setParams = lang="fr" dir="ltr" class="no-js"
    }
[global]

[globalVar = GP:L = 7]
    config {
        sys_language_uid = 7
        language = it
        locale_all = it_IT.UTF-8
        htmlTag_setParams = lang="it" dir="ltr" class="no-js"
    }
[global]

标签: typo3

解决方案


如果 id 是 7 并且您的语言数组仅包含三个元素,您期望什么?

VH 不访问 TS 配置。它不能因为 VH 不能影响选择“请求”语言的条件。所以它只能访问当前的语言配置。

三个元素中的第 8 个元素(= 此 VH 的第一个参数:具有 2 个字符语言代码的数组)将超出范围,不应访问(如果您这样做,在某些语言中可能会获得安全性问题)。


推荐阅读