{% if use_page is undefined %} {% set use_page = currentpage %} {% endif %} {% if link_prefix is undefined %} {% set link_prefix = "" %} {% endif %}
{% if use_page.supercategory is defined %}
{% if use_page == (pages|selectattr('supercategory', 'defined_and_equalto', use_page.supercategory)|first) %} {{ use_page.name }} {% else %} {% set parent_page = (pages|selectattr('supercategory', 'defined_and_equalto', use_page.supercategory)|first) %} {{ parent_page.name }} {% endif %}
{% elif use_page.doc_type is defined %}
{% if use_page == (pages|selectattr('doc_type', 'defined_and_equalto', use_page.doc_type)|first) %} {{ use_page.name }} {% else %} {% set parent_page = (pages|selectattr('doc_type', 'defined_and_equalto', use_page.doc_type)|first) %} {{ parent_page.name }} {% endif %}
{% elif use_page.funnel is defined %}
{% if use_page == (pages|selectattr('funnel', 'defined_and_equalto', use_page.funnel)|first) %} {{ use_page.name }} {% else %} {% set parent_page = (pages|selectattr('funnel', 'defined_and_equalto', use_page.funnel)|first) %} {{ parent_page.name }} {% endif %}
{% endif %} {% if ( not pages|selectattr("funnel", 'defined_and_equalto', use_page.funnel)|selectattr("category", "defined")|list|length ) or ( not pages|selectattr("funnel", 'defined_and_equalto', use_page.funnel)|selectattr("doc_type", 'defined_and_equalto', use_page.doc_type)|selectattr("category", "defined")|list|length ) %} {% if use_page.doc_type is defined %} {% set sidebarpages = pages|selectattr("doc_type", 'defined_and_equalto', use_page.doc_type)|list %} {% else %} {% set sidebarpages = pages|selectattr("funnel", 'defined_and_equalto', use_page.funnel)|list %} {% endif %}
{% elif use_page.supercategory is defined %}
{% for cat in categories %} {% set catpages = pages|selectattr("category", 'defined_and_equalto', cat)|list %} {% if use_page.funnel is defined %} {% set catpages = catpages|selectattr("funnel", 'defined_and_equalto', use_page.funnel)|list %} {% endif %} {% if use_page.doc_type is defined %} {% set catpages = catpages|selectattr("doc_type", 'defined_and_equalto', use_page.doc_type)|list %} {% endif %} {% set catpages = catpages|selectattr("supercategory", 'defined_and_equalto', use_page.supercategory)|list %} {% if catpages|length %} {% set cat_parent = pages|selectattr('category', 'defined_and_equalto', cat)|first %}
{% endif %} {% endfor %}
{% else %} {% set sidebar_pagelist = pages|selectattr("funnel", 'defined_and_equalto', use_page.funnel)|list %} {% if use_page.doc_type is defined %} {% set sidebar_pagelist = sidebar_pagelist|selectattr("doc_type", 'defined_and_equalto', use_page.doc_type)|list %} {% endif %} {% set printed_modules = [] %}
{% for page in sidebar_pagelist %} {% if page.supercategory is defined %} {% if page.supercategory not in printed_modules %} {% set supercat = page.supercategory %} {% set supercatpages = sidebar_pagelist|selectattr("supercategory", 'defined_and_equalto', page.supercategory)|list %} {% if supercatpages|length %} {% set supercat_parent = supercatpages|first %} {% set _ = printed_modules.append(page.supercategory) %}
{% endif %} {% endif %} {% elif page.category is defined and page.category not in printed_modules %} {% set cat = page.category %} {% set catpages = sidebar_pagelist|selectattr("category", 'defined_and_equalto', page.category)|list %} {% if catpages|length %} {% set cat_parent = catpages|first %}
{% endif %} {% set _ = printed_modules.append(page.category) %} {% endif %} {% endfor %}
{% endif %}