1

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

我有大约 2 打页面需要在我的基本模板中的两个或更多菜单中呈现。

目前我正在使用主菜单和页脚菜单。对于主菜单,我简单地创建了一个带有 id 'home' 和一些孩子的“主页”页面,然后使用{% show_menu_below_id "home" 0 100 100 100 %}. 完美运行。

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

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

问题在于页脚菜单中项目的 URL 类似于“/en/footer-menu/news/”。我需要把它简单地写成“/en/news/”。我尝试在页脚菜单上使用高级 > 覆盖 URL 到“/”,但不允许这样做。

因此,我在每个子页面上使用 Advanced > Overwrite URL 字段将 url 设置为“/news”。在用英语进行测试时,我确实得到了“/en/news/”的 URL,但是当我切换到另一种语言(例如,西班牙语)时,该 url 是“/es/footer-menu/noticia/​​”。

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

  1. 客户端可安排的菜单 - 客户端应该能够从菜单中创建/移动/删除页面
  2. 多个菜单
  3. i18N 蛞蝓和
  4. 根项目在“/<语言>/”?

当然,我不是第一个想要这样做的人,对吧?

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

4

1 回答 1

0

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

于 2013-06-12T11:27:12.287 回答