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