sitemenu.py 600 B

12345678910111213141516171819202122
  1. from xadmin.sites import site
  2. from xadmin.views import BaseAdminPlugin, CommAdminView
  3. BUILDIN_STYLES = {
  4. 'default': 'xadmin/includes/sitemenu_default.html',
  5. 'accordion': 'xadmin/includes/sitemenu_accordion.html',
  6. }
  7. class SiteMenuStylePlugin(BaseAdminPlugin):
  8. menu_style = None
  9. def init_request(self, *args, **kwargs):
  10. return bool(self.menu_style) and self.menu_style in BUILDIN_STYLES
  11. def get_context(self, context):
  12. context['menu_template'] = BUILDIN_STYLES[self.menu_style]
  13. return context
  14. site.register_plugin(SiteMenuStylePlugin, CommAdminView)