我在 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/”。
那么,我应该使用什么策略来允许:
- 客户端可安排的菜单 - 客户端应该能够从菜单中创建/移动/删除页面
- 多个菜单
- i18N 蛞蝓和
- 根项目在“/<语言>/”?
当然,我不是第一个想要这样做的人,对吧?
欢迎所有想法。提前致谢!