Attach category menu to CMSApp
This commit is contained in:
parent
95f2914a33
commit
2c2fd6d7ca
1 changed files with 27 additions and 1 deletions
|
@ -1,12 +1,38 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from cms.app_base import CMSApp
|
from cms.app_base import CMSApp
|
||||||
from cms.apphook_pool import apphook_pool
|
from cms.apphook_pool import apphook_pool
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from cms.menu_bases import CMSAttachMenu
|
||||||
|
from menus.base import NavigationNode
|
||||||
|
from menus.menu_pool import menu_pool
|
||||||
|
from django.core.urlresolvers import reverse
|
||||||
|
from django.utils.translation import ugettext_lazy as _, get_language
|
||||||
|
from .models import BlogCategory
|
||||||
|
|
||||||
|
|
||||||
|
class BlogCategoryMenu(CMSAttachMenu):
|
||||||
|
name = _('Blog Category menu')
|
||||||
|
|
||||||
|
def get_nodes(self, request):
|
||||||
|
nodes = []
|
||||||
|
qs = BlogCategory.objects.translated(get_language())
|
||||||
|
qs = qs.order_by('parent_id', 'translations__name').distinct()
|
||||||
|
for category in qs:
|
||||||
|
kwargs = { 'category': category.slug }
|
||||||
|
node = NavigationNode(
|
||||||
|
category.name,
|
||||||
|
reverse('djangocms_blog:posts-category', kwargs=kwargs),
|
||||||
|
category.pk,
|
||||||
|
category.parent_id
|
||||||
|
)
|
||||||
|
nodes.append(node)
|
||||||
|
return nodes
|
||||||
|
|
||||||
|
menu_pool.register_menu(BlogCategoryMenu)
|
||||||
|
|
||||||
class BlogApp(CMSApp):
|
class BlogApp(CMSApp):
|
||||||
name = _('Blog')
|
name = _('Blog')
|
||||||
urls = ['djangocms_blog.urls']
|
urls = ['djangocms_blog.urls']
|
||||||
app_name = 'djangocms_blog'
|
app_name = 'djangocms_blog'
|
||||||
|
menus = [BlogCategoryMenu]
|
||||||
|
|
||||||
apphook_pool.register(BlogApp)
|
apphook_pool.register(BlogApp)
|
||||||
|
|
Loading…
Add table
Reference in a new issue