menu - 通过 Typoscript 基于文本的语言菜单

标签 menu internationalization typo3 typoscript

我想点击“English”文本来获取该网站的英文版本。在我有图形菜单之前:

lib.tslangmenu = HMENU
lib.tslangmenu {
  special = language
  special.value = 0,1,2
  addQueryString = 1
  1 = GMENU
  1.NO {
    XY = 24,16
    5 = IMAGE
    5.file = fileadmin/templates/images/deutsch.jpg || fileadmin/templates/images/englisch.jpg || fileadmin/templates/images/kroatisch.jpg
  }

  1.ACT < 1.NO
  1.ACT = 1
  1.ACT.wrap = <span class="langhide"> | </span>

  1.CUR < 1.ACT
  1.CUR = 1
}

到目前为止,这有效。现在我应该将菜单更改为基于文本的菜单。

lib.tslangmenu {
  special = language
  special.value = 0,1,2
  special.normalWhenNoLanguage = 0
  addQueryString = 1
  1 = TMENU
  1.NO = 1
  1.NO.stdWrap.override = Deutsch || English || Hrvatski

  1.ACT < 1.NO
  1.ACT = 1
  1.ACT.stdWrap = <span class="langhide"> | </span>

  1.CUR < 1.ACT
  1.CUR = 1
}

现在,带有 span 的换行被完全忽略。菜单现在显示如下:

我的当前页面名称 英语 Hrvatski

如果我使用德语,则单词 deutsch 会被当前页面标题覆盖。这同样适用于所有其他语言。我还尝试了this blog article中给出的TS 。但目前它的作用是一样的。我该如何让它工作?

最佳答案

第一个错误出现在您的换行中:NO 未换行,因此不会生成跨度(对于 NO 项目)。显示页面标题的问题来自错误的复制。线路

1.ACT < 1.NO

应该是

1.ACT < .1.NO

以防万一,这是我正在使用的 TS-config:

lib.languageMenu = HMENU
lib.languageMenu {
  special = language
  special.value = 0,1

  1 = TMENU
  1 {
    wrap = <ul class="langMenu">|</ul>
    noBlur = 1
    NO = 1
    NO {
      linkWrap = <li class="menu-item normal">|</li>

      stdWrap.override = English || Deutsch
      stdWrap.htmlSpecialChars = 1
    }

    ACT < .NO
    ACT {
      doNotLinkIt = 1
      linkWrap = <li class="menu-item active">|</li>
    }

    # NO + Translation doesn't exist
    USERDEF1 < .NO
    USERDEF1.doNotLinkIt = 1

    # ACT + Translation doesn't exist
    USERDEF2 < .ACT
    USERDEF2.doNotLinkIt = 1
  }
}

问候,
约斯特

关于menu - 通过 Typoscript 基于文本的语言菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13917916/

相关文章:

jquery - 如何停止页面底部的 float 菜单

internationalization - Playframework 2.0.1DateFormatter 接收系统语言环境

php - 自 TYPO3 6.2 起,添加静态 SQL 表及其数据不起作用

python - wx 菜单显示为弹出窗口时从框架中消失

menu - Electron -菜单中的更新标签

android - 如何更改 Android 的选项菜单位置

javascript - 如何使用 i18n 值将 coffeescript 中的字符串国际化?

JavaFX 国际化与翻译字符串中的变量

event-handling - TYPO3:为什么我的 PSR-14 事件监听器注册不起作用?

arrays - TYPO3 Fluid 使用第二个数组的迭代器