微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从DjangoCMS菜单中排除未发布的页面?

如何解决如何从DjangoCMS菜单中排除未发布的页面?

我有一个要管理的DjangoCMS网站。我只需要发布EN语言的页面。问题是还有3种语言,当我只为EN发布页面时,它也可以在其他语言菜单中使用。菜单名称为英文,这使网站看起来很不专业。这是DjangoCMS菜单逻辑的特定弱点还是网站编码不正确?

我发现还有其他人也在报告此问题-https://github.com/divio/django-cms/issues/6004

如何排除不需要的页面显示在其他语言的菜单上?

解决方法

@lazdins可以在3.7.1中修复:“修复了一个错误,即使请求中的页面是公共页面,菜单也会呈现草稿页面。这种情况发生在没有更改权限的用户请求编辑模式的情况下。” https://github.com/divio/django-cms/blob/develop/CHANGELOG.rst#371-2019-11-26

3.4我也不再受支持,建议您升级到3.7,因为它是当前受支持的LTS版本,在我发表评论时,建议使用的版本为:https://www.django-cms.org/en/roadmap/

我也将此问题发布了。 https://github.com/divio/django-cms/issues/6004#issuecomment-702052627

,

我的解决方案是在settings.py上进行以下更改:

'hide_untranslated':真实

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',{
            'code': 'fr','name': gettext('French'),'public': False,],2: [
        {
            'code': 'nl','name': gettext('Dutch'),'fallbacks': ['en'],'default': {
        'fallbacks': ['en','de','redirect_on_fallback': True,'hide_untranslated': False,}
}

http://docs.django-cms.org/en/latest/reference/configuration.html#cms-languages

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。