{% macro navsection(hierarchy, level, current) %} {% set sec = hierarchy | nth(n=level) %} {% set sec = get_section(path=sec) %} {% set maxlevel = hierarchy | length %} {# Ici on regarde si toutes les sous-sections et pages contenues ont #} {# une variable weight_custom. Au passage on note ces poids. #} {% set temoin = true %} {% set liste = [] %} {% if sec.subsections %} {% for s in sec.subsections %} {% set s_temp = get_section(path=s) %} {% if not s_temp.extra.weight_custom %} {% set_global temoin = false %} {% else %} {% set_global liste = liste | concat(with=s_temp.extra.weight_custom) %} {% endif %} {% endfor %} {% endif %} {% if sec.pages %} {% for p in sec.pages %} {% if not p.extra.weight_custom %} {% set_global temoin = false %} {% else %} {% set_global liste = liste | concat(with=p.extra.weight_custom) %} {% endif %} {% endfor %} {% endif %} {# Si toutes les sous-sections et pages ont une variable weight_custom, #} {# on classe selon elle. Sinon, on utilise la méthode classique. #} {% if temoin %} {% set_global liste = liste | sort %} {% for x in liste %} {% if sec.subsections %} {% for y in sec.subsections %} {% set p = get_section(path=y) %} {% if p.extra.weight_custom == x %}