TYPO3CMS:菜单语言与内容不同

时间:2018-07-04 12:19:04

标签: typo3 typo3-7.6.x

我们的客户想要一个西班牙文首页,为什么不想要呢,但是菜单应该参考英文页面。

不幸的是,英语不是系统中的默认语言。

这可以在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>
    }
}

1 个答案:

答案 0 :(得分:2)

回退到另一种语言而不是默认语言的解决方案是使用config.sys_language_mode = content_fallback。正如您在文档中所看到的那样,通过这种模式,您可以指定一些语言UID,以将其作为备用语言:https://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/Index.html#sys-language-mode

  

但是,页面上的内容仍然可以回退到另一个   语言,由此关键字的值定义,例如    content_fallback; 1、3、0, 退回到   sys_language_uid 1,之后到sys_language_uid 3的内容   并且如果该值也不存在,则默认为(0)。

在您的情况下,您仍然必须找到一种方法,如何从菜单中隐藏西班牙语页面,但回退到英语。页面语言覆盖配置中可能有某些内容吗?

在最坏的情况下,您可以通过请求数据库“手动”在TMENU对象中获得页面标题。

EDIT :那只用英文标题手工命名西班牙语页面标题又如何呢?