2015-09-26 3 views
0
{% load i18n menu_tags cache %} 
{% for child in children %} 
<li class="{% if child.ancestor %}ancestor{% endif %} 
    {% if child.selected %} active{% endif %} 
    {% if child.chil`enter code here`dren %} dropdown{% endif %}"> 
    {% if child.children %} 
     <a class="dropdown-toggle" data-toggle="dropdown" href="#"> 
      {{ child.get_menu_title }} <span class="caret"></span> 
     </a> 
     <ul class="dropdown-menu"> 
      {% show_menu from_level to_level extra_inactive extra_active template "" "" child %} 
     </ul> 
    {% else %} 
     <a href="{{ child.get_absolute_url }}"><span>{{ child.get_menu_title }}</span></a> 
    {% endif %} 
</li> 

{% if class and forloop.last and not forloop.parentloop %}{% endif %} 
{% endfor %} 

Это код menu.html в проекте djagocms.Как отображать многоуровневую меню в djangoCMS

Может ли кто-нибудь помочь мне, как мы можем отображать многоуровневую меню в djangocms. например:

---------- 
> main menu 
> --sub menu 
> --sub menu 
> ----sub menu 
> ----sub menu 

ответ

1

У меня есть многоуровневое меню, которое я включаю в свой базовый шаблон, например;

 <ul class="dropdown"> 
      {% show_menu 1 100 100 100 "partials/navigation.html" %} 
     </ul> 

Этот пользовательский шаблон выглядит следующим образом;

{% load cms_tags menu_tags cache cms_page %} 

{% for child in children %} 
    <li> 
     <a href="{{ child.attr.redirect_url|default:child.get_absolute_url }}">{{ child.get_menu_title }}</a> 
     {% if child.children and child.level <= 4 %} 
      <ul> 
      {% show_menu from_level to_level extra_inactive extra_active template '' '' child %} 
      </ul> 
     {% endif %} 
    </li> 
{% endfor %} 

Это отображает многоуровневое меню, в котором отображаются все дочерние страницы страницы в виде нового списка.

Смежные вопросы