6. Меню¶
Модуль для создания меню сайта из админ панели.
6.1. Template tags¶
Подключение тега. Если не указать шаблон, то будет взят по умолчанию.
- menu
Название вашего меню, обязательный аргумент
{% load menu_tags %}
{% menu_item menu="Тестовое" %}
Изменение шаблона
{% menu_item menu="Тестовое" template="menu.html" %}
Шаблон для вывода меню.
- recursetree
Template tag mptt для вывода подменю
{% load mptt_tags %}
<ul>
{% recursetree items %}
<li>
{% if node.url %}
<a class="" href="{{ node.url }}">{{ node.title }}</a>
{% elif node.anchor %}
<a class="" href="{{ node.get_anchor }}">{{ node.title }}</a>
{% else %}
<a class="" href="{{ node.content_object.get_absolute_url }}">{{ node.title }}</a>
{% endif %}
{% if not node.is_leaf_node %}
<ul class="children">
{{ children }}
</ul>
{% endif %}
</li>
{% endrecursetree %}
</ul>
6.2. Поля¶
6.2.1. Поля модели меню¶
- name (max_length=255)
Название
- status
Отображать только для зарегистрированных
6.2.2. Поля модели пунктов меню¶
- title (max_length=255)
Название пункта меню на сайте
- name (max_length=255)
Название латиницей
- parent (related_name=“children“)
Родительский пункт
- menu
Связь с моделью Меню
- status
Отображать только для зарегистрированных
- url
url на внешний ресурс
- anchor
Якорь
- content_type
Ссылка на любую модель
- object_id
id записи из выбраной модель
- content_object
content_object