【问题标题】:djangocms 3.2 page leveldjangocms 3.2 页面级别
【发布时间】:2016-11-13 07:16:27
【问题描述】:

我已将 django-cms 驱动的应用程序从 2.4 升级到 3.2,并希望像这样显示 djangocms 页面的子菜单:

{% extends "layouts/base.html" %}
{% load cms_tags menu_tags %}

{% block 'content' %}
  {% with page_lvl=request.current_page.level %}
    {% show_sub_menu 1 page_lvl 1 'menues/cms_submenu.html' %}
  {% endwith %}
{% endblock %}

但是,current_page.level 似乎是 None - 此代码在 2.4 中有效,但似乎该页面不再具有 .level 属性。去哪儿了?

【问题讨论】:

  • 看看docs.django-cms.org/en/release-3.3.x/how_to/… - 甚至还有一个“级别”修饰符的示例。
  • 对不起,我不明白。这是为了将页面属性映射到相应但更轻量级的节点对象 - 但是由于不再有 Page.level ,没有什么可以映射,还是我完全错过了什么?

标签: django django-templates django-cms


【解决方案1】:

事实证明,DjangoCMS 从 MPTTTree to Treebeard 切换。因此,信息现在存储在 .depth 属性中,而不是 .level - 但与 1 的 .level 相比存在偏移(因此 .level 3 现在是 .depth 4)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    相关资源
    最近更新 更多