Django-CMS中的多个多语言菜单,其中的项目植根于/

时间:2013-04-04 23:53:25

标签: django-cms

我在Django 1.4.5和Python 2.7.2上使用Django-CMS 2.3.5。

我有大约24页需要在我的基本模板中的两个或更多菜单中显示。

目前我正在使用主菜单和页脚菜单。对于主菜单,我简单地创建了一个id为“home”和许多孩子的“home”页面,然后使用{% show_menu_below_id "home" 0 100 100 100 %}。效果很好。

对于页脚菜单,我在页面树中创建了一个名为“Footer Menu”的假节点,其id为:footer-menu,我的页脚菜单项为子节点。然后,我使用`{%show_menu_below_id'页脚菜单“0 100 100 100%}。

菜单中的每个页面都被翻译成6种语言,当然包括它们的slu ..

问题在于我的页脚菜单中的项目的URL类似于“/ en / footer-menu / news /”。我需要简单地将其设为“/ en / news /”。我尝试过使用Advanced>在页脚菜单上覆盖URL为'/',但不允许。

所以,我使用Advanced>覆盖每个子页面上的URL字段,将URL设置为“/ news”。在用英语测试时,我确实得到了一个“/ en / news /”的URL,但是当我切换到另一种语言(例如,西班牙语)时,网址是“/es/footer-menu/noticia/​​".

那么,我应该采用什么策略来允许:

  1. 客户可排列的菜单 - 客户应该能够从菜单中创建/移动/删除页面
  2. 多个菜单
  3. i18N slugs和
  4. 将项目设为“/< language> /”?
  5. 当然,我不是第一个想要这样做的人,对吗?

    欢迎所有想法。提前谢谢!

1 个答案:

答案 0 :(得分:0)

解决方案是升级到2.4.x,其中Overwrite URL现在对于每种语言都是不同的。