Найти - Пользователи
Полная версия: django-cms: меню отдельной страницы
Начало » Django » django-cms: меню отдельной страницы
1
zlodiak
подскажите пожалуйста как на django-cms делается меню отдельной страницы

например существует основное меню:
  • -главная
    -блог
    -контакты
    -карта

мне нужно чтобы когда пользователь находился на странице “блог”, в левой колонке появлялось дополнительное меню, состоящее из:
  • -блог1
    -блог2
    -блог3

но на остальных страницах этого меню не было.

я сделал 2 шаблона: одноколоночный и двухколоночный. назначил двухколоночный шаблон для страницы “блог”. проблема в том, что не понимаю как привязать дополнительное меню

например в других cms обычно есть возможность создать несколько меню через админку. в django-cms какой-то другой подход к построению системы меню
N..E.M
В django-cms есть одно дерево меню.
Что такое “блог 1/2/3”? Это разделы блога, которые не являются отдельными страницами, а генерируются из соответствующей модели? Тогда вам нужно сделать меню приложения и привязать его к странице. В документации об этом есть, ищите класс CMSAttachMenu, в его методе get_nodes() можно выбрать разделы блога из соответствующей модели и создать пункты меню. Что-то типа такого:
class BlogMenu(CMSAttachMenu):
    name = _("Blog Menu")
    def get_nodes(self, request):
        nodes = []
        for section in BlogSection.objects.all():
            nodes.append(NavigationNode(
                section.name,
                reverse('blog:section', args=(section.pk,)),
                section.pk
            ))
        return nodes

На другие cms в данном вопросе не ориентируйтесь. Несколько меню здесь не то чтобы невозможно, но просто не делаются так, как в “других cms”.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB