def render(self, context): """ Rendu de tout les éléments du formulaire indiqué :type context: object ``django.template.Context`` :param context: Objet du contexte du tag. :rtype: string :return: Le rendu généré pour le tag capturé. """ html = '' parser_kwargs = {} active_page_instance = None # Résolution des arguments page_var = resolve_string_or_variable(self.page_var_name, context) # Template par défaut selon le mode (arborescence/plat) if not self.flat_mode: self.template_path = settings.DOCUMENTS_PAGE_TREEMENU else: self.template_path = settings.DOCUMENTS_PAGE_FLATMENU # Custom template if any if self.template_path_varname: self.template_path = resolve_string_or_variable(self.template_path_varname, context) # Transmet au contexte du tag l'instance de la page courante si elle est présente # dans le contexte de la page if 'page_instance' in context: active_page_instance = context['page_instance'] return self.build(context, page_var, active_page_instance)
def render(self, context): """ TODO: Lever une exception de template évident quand le setting demandé n'existe pas. :type context: object ``django.template.Context`` :param context: Objet du contexte du tag. :rtype: string :return: Le rendu généré pour le tag capturé. """ html = '' parser_kwargs = {} content_render = toc_render = navigation_render = None # Résolution des arguments instance = resolve_string_or_variable(self.insert_instance_varname, context) setting_key = resolve_string_or_variable(self.setting_key_varname, context) if setting_key: parser_kwargs['setting_key'] = setting_key title_level = resolve_string_or_variable(self.title_level_varname, context) if title_level: parser_kwargs['initial_header_level'] = title_level content_render = mark_safe( get_render_with_cache(instance, **parser_kwargs) ) #if self.with_toc: #toc_render = mark_safe( get_toc_with_cache(instance, **parser_kwargs) ) if self.with_navigation and isinstance(instance, Page): navigation = instance.get_descendants(include_self=False).filter(visible=True) context.update({ #'document_toc': toc_render, 'document_navigation': navigation, 'document_render': content_render, }) return ''
def render(self, context): """ TODO: Lever une exception de template évident quand le setting demandé n'existe pas. :type context: object ``django.template.Context`` :param context: Objet du contexte du tag. :rtype: string :return: Le rendu généré pour le tag capturé. """ html = '' parser_kwargs = {} # Résolution de l'instance du formulaire self.insert_instance = resolve_string_or_variable(self.insert_instance_varname, context) self.setting_key = resolve_string_or_variable(self.setting_key_varname, context) if self.setting_key: parser_kwargs['setting_key'] = self.setting_key self.title_level = resolve_string_or_variable(self.title_level_varname, context) if self.title_level: parser_kwargs['initial_header_level'] = self.title_level # Réception d'un slug pour récupérer l'instance if isinstance(self.insert_instance, basestring): try: instance = Insert.objects.get(slug=self.insert_instance, visible=True) except Insert.DoesNotExist: return '' else: self.insert_instance = instance html = get_render_with_cache(self.insert_instance, **parser_kwargs) return mark_safe(html)