Changeset 2567
- Timestamp:
- 03/10/10 10:31:02 (5 months ago)
- Location:
- branches/0.9/pylucid_project
- Files:
-
- 2 modified
-
apps/pylucid/tree_model.py (modified) (5 diffs)
-
pylucid_plugins/main_menu/templates/main_menu/main_menu_items.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/0.9/pylucid_project/apps/pylucid/tree_model.py
r2439 r2567 18 18 $Author: JensDiemer $ 19 19 20 :copyleft: 2007-20 09by the PyLucid team, see AUTHORS for more details.20 :copyleft: 2007-2010 by the PyLucid team, see AUTHORS for more details. 21 21 :license: GNU GPL v3 or above, see LICENSE for more details. 22 22 """ … … 25 25 # run unittest for this module 26 26 import sys 27 import test_tools # before django imports!27 from pylucid_project.tests import test_tools # before django imports! 28 28 from django.core import management 29 29 management.call_command('test', "test_TreeModel.TreeModelTest") 30 # management.call_command('test', "pylucid_project.pylucid_plugins.main_menu") 30 31 sys.exit() 31 32 … … 44 45 self.current = False # current node in main menu? 45 46 self.visible = True # Seen in main menu? 46 self.level = None 47 48 self.level = None # The level count, starts with 0 49 self.first = False # Is the first node in the current level 50 self.last = False # Is the last node in the current level 51 52 def css_class(self): 53 """ 54 returns a css class string, for: ... class="{{ node.css_class }}" 55 So it's not needed to add a few {% if %} template statements. 56 """ 57 class_names = "level_%s" % self.level 58 if self.active: 59 class_names += " active" 60 if self.current: 61 class_names += " current" 62 if self.first: 63 class_names += " first" 64 if self.last: 65 class_names += " last" 66 return class_names 47 67 48 68 def add(self, node): … … 118 138 parent.add(self.nodes[node_data["id"]]) 119 139 120 # add level number to all nodes 121 self.setup_ level()140 # add level number to all nodes and mark first/last nodes 141 self.setup_nodes() 122 142 123 143 def get_first_nodes(self, nodes=None): … … 137 157 return nodes2 138 158 139 def setup_ level(self, nodes=None, level=0):140 """ add level number to all nodes """159 def setup_nodes(self, nodes=None, level=0): 160 """ add level number to all nodes and mark first/last nodes """ 141 161 if nodes == None: 142 162 nodes = self.root.subnodes 163 164 nodes[0].first = True 165 nodes[-1].last = True 166 143 167 for node in nodes: 144 168 node.level = level 145 169 if node.subnodes: 146 self.setup_ level(node.subnodes, level + 1)170 self.setup_nodes(node.subnodes, level + 1) 147 171 148 172 def debug(self, nodes=None): -
branches/0.9/pylucid_project/pylucid_plugins/main_menu/templates/main_menu/main_menu_items.html
r2478 r2567 4 4 {% if node.visible %} 5 5 {% if node.current %}<strong>{% endif %} 6 <a href="{{ node.pagemeta.get_absolute_url }}" hreflang="{{ node.pagemeta.language.code }}" title="{{ node.pagemeta.get_title }}" class=" level_{{ node.level }}{% if node.active %} active{% endif %}{% if node.current %} current{% endif %}">{{ node.pagemeta.get_name }}</a>6 <a href="{{ node.pagemeta.get_absolute_url }}" hreflang="{{ node.pagemeta.language.code }}" title="{{ node.pagemeta.get_title }}" class="{{ node.css_class }}">{{ node.pagemeta.get_name }}</a> 7 7 {% if node.current %}</strong>{% endif %} 8 8 {% endif %}