general: add a new "root page" attribute to menu cells (#10537)
This commit is contained in:
parent
0061a2a1c6
commit
827cd70576
|
@ -0,0 +1,19 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('data', '0016_feedcell_limit'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='menucell',
|
||||
name='root_page',
|
||||
field=models.ForeignKey(related_name='root_page', verbose_name='Root Page', blank=True, to='data.Page', null=True),
|
||||
),
|
||||
]
|
|
@ -502,13 +502,16 @@ class MenuCell(CellBase):
|
|||
initial_level = models.IntegerField(_('Initial Level'),
|
||||
choices=[(-1, _('Same as page'))] +
|
||||
[(i, i) for i in range(1, 3)], default=-1, null=False)
|
||||
root_page = models.ForeignKey(Page, related_name='root_page',
|
||||
null=True, blank=True, verbose_name=_('Root Page'))
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Menu')
|
||||
|
||||
def render(self, context):
|
||||
from combo.public.menu import render_menu
|
||||
return render_menu(context, level=self.initial_level, depth=self.depth)
|
||||
return render_menu(context, level=self.initial_level,
|
||||
root_page=self.root_page, depth=self.depth)
|
||||
|
||||
|
||||
@register_cell_class
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
|
||||
from django.template.loader import get_template
|
||||
|
||||
def render_menu(context, level=0, depth=1):
|
||||
context = get_menu_context(context, level=level, depth=depth)
|
||||
def render_menu(context, level=0, root_page=None, depth=1):
|
||||
context = get_menu_context(context, level=level, current_page=root_page, depth=depth)
|
||||
template = get_template('combo/menu.html')
|
||||
return template.render(context)
|
||||
|
||||
|
|
Loading…
Reference in New Issue