【发布时间】:2016-08-14 15:40:40
【问题描述】:
我们的 Django CMS 网站有多种语言。我们有一些页面没有翻译成所有语言(见下图)。在没有这些页面的语言中,菜单仍然会显示这些页面(见下图)。
我希望如果一个页面没有特定的翻译,它就不会显示在菜单中。我不确定这是 Django CMS 错误还是我遗漏了什么。
如何让show_menu 只显示有翻译的页面?
为了更好的表现:
【问题讨论】:
标签: django django-cms
我们的 Django CMS 网站有多种语言。我们有一些页面没有翻译成所有语言(见下图)。在没有这些页面的语言中,菜单仍然会显示这些页面(见下图)。
我希望如果一个页面没有特定的翻译,它就不会显示在菜单中。我不确定这是 Django CMS 错误还是我遗漏了什么。
如何让show_menu 只显示有翻译的页面?
为了更好的表现:
【问题讨论】:
标签: django django-cms
我意识到这只是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 解决了我的问题。
【讨论】: