如何在页面上单独创建菜单?

时间:2014-10-27 18:56:00

标签: python django django-cms

请告诉我如何django-cms是一个单独的菜单页

例如,有主菜单:

-Home 
-blog 
-Contact 
-Map 

我需要当用户在左栏中的“博客”页面上时,还有其他菜单包含:

-blog1 
-blog2 
-blog3 

但在菜单的其他页面上没有。

我制作了2个模板:一列和两列。为“博客”指定了两栏页面模板。问题是我不明白如何绑定附加菜单

1 个答案:

答案 0 :(得分:2)

首先,我建议您查看CMS docs: Navigation

在那里你可以阅读有用的模板标签来生成菜单,我总是使用的是:

  1. {% show_menu %}
  2. {% show_menu_below_id 'CMS_PAGE_ID'%}
  3. (CMS页面必须发布并检查导航,否则它们不会出现在菜单中)

    两个标签都使用模板自动生成菜单,如果您在your_project/templates/menu/menu.html中创建文件,则可以自定义此模板,或者将模板放在任何其他位置,并将其添加到模板标记,如{{1} }。

    这两个模板标签之间的最大区别在于第一个显示实际页面的导航(父母或孩子取决于我稍后解释的一些变量),第二个显示使用唯一ID的页面自动生成页面的菜单。页面(您应该在编辑/创建CMS页面时在高级选项中编写此唯一ID)

    所以在你的项目中,为了做你想要实现的事情你可以使用:

    {% show_menu 100 100 100 100 'yourpath/template_name.html' %}

    您应该检查我在开头时提到的文档,以便最好地理解这4个数字,但重要的是第一个和第二个。

    • 第一个数字是指 startlevel (您想要显示的最低级别)
    • 第二个数字指的是 endlevel (您想要显示的最高级别)

    因此,如果您执行{% show_menu 0 2 100 100 %} ,您将显示0级到2级的cms页面,这可能是您的主菜单。

    这是向模板添加菜单的最佳方式,如果您想添加其他菜单,可以重复模板标记并使用数字来满足您的需求