首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TYPO3: HMENU不懂外语

TYPO3: HMENU不懂外语
EN

Stack Overflow用户
提问于 2016-01-22 07:25:28
回答 2查看 578关注 0票数 0

页脚菜单定义如下:

代码语言:javascript
运行
复制
temp.footerNav = HMENU
temp.footerNav {
  special = userfunction
  special.userFunc = \MyNamespace\Helper->footerNavArray

  wrap = <ul>|</ul>

    1 = TMENU
    1 {
        wrap = |
        expAll = 0

        NO = 1
        NO.ATagParams = class="footer-navigation-link"
        NO.stdWrap.htmlSpecialChars = 1
        NO.wrapItemAndSub = <li class="footer-navigation__item">|</li>
        NO.stdWrap.field = title // nav_title
    }
}

函数footerNavArray返回的数组在两种德语中看起来都很好

代码语言:javascript
运行
复制
array (size=7)
  0 => 
    array (size=2)
      'title' => string 'Unternehmen' (length=11)
      '_OVERRIDE_HREF' => string 'de/unternehmen.html' (length=19)
    ...
  ...

和英文:

代码语言:javascript
运行
复制
array (size=7)
  0 => 
    array (size=2)
      'title' => string 'Company' (length=7)
      '_OVERRIDE_HREF' => string 'en/company.html' (length=15)
    ...
  ...

页脚菜单在英语(默认语言)中工作得很好,但是,我在德语页面(L=1)上看到的唯一输出是<ul></ul>

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-23 07:11:55

首先,上述行为是由[FE][hidePagesIfNotTranslatedByDefault] = 1引起的,TYPO3的Solr要求它在多语言站点中正确工作。通过将'_SAFE' = true添加到菜单数组中,我终于能够解决这个问题:

代码语言:javascript
运行
复制
array (size=7)
  0 => 
    array (size=3)
      'title' => string 'Company' (length=7)
      '_OVERRIDE_HREF' => string 'en/company.html' (length=15)
      '_SAFE' => boolean true
    ...
  ...

我在TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject->filterMenuPages()的第1213行(核心版本7.6.2)中找到了解决方案

票数 4
EN

Stack Overflow用户

发布于 2016-01-25 06:17:12

您还可以对不同的语言使用全局env条件。

代码语言:javascript
运行
复制
#setup the default language in case of bad L variable
config.sys_language_mode = content_fallback
config.uniqueLinkVars=1
config.sys_language_overlay = 1
config.sys_language_uid = 0
config.language = en
config.linkVars = L
# Spanish language, sys_language.uid = 1
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = es
config.locale_all = spanish
[global]
# English language, sys_language.uid = 0
[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = en
[global]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34941181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档