【问题标题】:Django CMS show_menu includes pages of other languagesDjango CMS show_menu 包含其他语言的页面
【发布时间】:2016-08-14 15:40:40
【问题描述】:

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

我希望如果一个页面没有特定的翻译,它就不会显示在菜单中。我不确定这是 Django CMS 错误还是我遗漏了什么。

如何让show_menu 只显示有翻译的页面?

为了更好的表现:

我们的页面(请注意,在第一部分只有Email tester 有英文翻译):

这是呈现的英文菜单,但显示了所有页面。我希望只看到Email Tester

【问题讨论】:

    标签: django django-cms


    【解决方案1】:

    我意识到这只是settings.py 中的CMS_LANGUAGES 设置的问题。 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 解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2012-12-05
      • 2018-03-26
      • 2018-02-01
      • 1970-01-01
      • 2023-03-22
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      相关资源
      最近更新 更多