Django CMS show_menu包含其他语言的页面

时间:2016-04-21 12:25:05

标签: django django-cms

我们的Django CMS网站有多种语言。我们有一些页面没有翻译成所有语言(见下图)。在没有这些页面的语言中,菜单无论如何都会显示这些页面(见下图)。

我希望如果一个页面没有特定的翻译,它就不会显示在菜单中。我不确定这是否是Django CMS错误或者我是否遗漏了某些内容。

如何让show_menu仅显示有翻译的网页?

为了更好的代表性:

我们的网页(请注意,仅在第一部分Email tester有英文翻译): Our Pages

这是渲染的英文菜单,但显示了所有页面。我希望只看到Email TesterRendered menu

1 个答案:

答案 0 :(得分:0)

我意识到这只是CMS_LANGUAGESsettings.py设置的问题。 Django CMS documentation

来自文档:

CMS_LANGUAGES = {
1: [
    {
        'code': 'en',
        'name': gettext('English'),
        'fallbacks': ['de', 'fr'],
        'public': True,
        'hide_untranslated': True,
        'redirect_on_fallback':False,
    },
    {
        'code': 'de',
        'name': gettext('Deutsch'),
        'fallbacks': ['en', 'fr'],
        'public': True,
    }
],
'default': {
    'fallbacks': ['en', 'de'],
    'redirect_on_fallback':True,
    'public': True,
    'hide_untranslated': False,
}

}

设置'hide_untranslated'控制翻译是否会显示在菜单中。

将其设置为True解决了我的问题。