首页 > 解决方案 > TYPO3CMS:与内容不同的菜单语言

问题描述

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

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

这是否有可能在 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>
    }
}

标签: typo3typo3-7.6.x

解决方案


回退到默认语言之外的另一种语言的解决方案是使用config.sys_language_mode = content_fallback. 正如您可以在文档中阅读的那样,使用此模式,您可以指定一些语言 UID,您想要回退到哪种语言:https ://docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/Index.html#sys-language -模式

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

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

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

编辑:如何手动命名西班牙语页面标题和英文标题?


推荐阅读