+ bits = []
+
+ # loosely based on django.template.defaulttags.ForNode.render
+ # This is a repetition of the stuff that happens above. We should eliminate that somehow.
+ loop_dict = context['navloop'] = {'parentloop':{}}
+ len_items = len(items)
+ for i, item in enumerate(items):
+ loop_dict['counter0'] = i
+ loop_dict['counter'] = i + 1
+ loop_dict['revcounter'] = len_items - i
+ loop_dict['revcounter0'] = len_items - i - 1
+ loop_dict['first'] = (i == 0)
+ loop_dict['last'] = (i == len_items - 1)
+ bits.append(self._render_node(context, item, request))
+