sub-menu.swig 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. {% import '_partials/header/menu-item.swig' as menu_item with context %}
  2. {%- if theme.menu and is_page() %}
  3. {# Submenu & Submenu-2 #}
  4. {%- for name, value in theme.menu %}
  5. {%- set respath = value %}
  6. {%- if value == '[object Object]' %}
  7. {# If current URL is value of parent submenu 'default' path #}
  8. {%- set currentParentUrl = page.path.split('/')[0] | trim %}
  9. {%- if currentParentUrl == value.default.split('||')[0] | trim | replace('/', '') %}
  10. {# Submenu items #}
  11. <ul id="sub-menu" class="sub-menu menu">
  12. {%- for subname, subvalue in value %}
  13. {# For main submenu items #}
  14. {%- if subvalue != '[object Object]' %}
  15. {%- set itemName = subname | lower %}
  16. {%- if itemName == 'default' %}
  17. {%- set parentValue = subvalue.split('||')[0] | trim %}
  18. {% else %}
  19. {%- if subvalue.startsWith('http') %}
  20. {%- set respath = subvalue %}
  21. {% else %}
  22. {%- set respath = parentValue + subvalue %}
  23. {%- endif %}
  24. {{ menu_item.render(subname, itemName, respath) }}
  25. {%- endif %}
  26. {% else %}
  27. {# For 'default' submenu item in main submenu #}
  28. {%- set itemName = subname | lower %}
  29. {%- for subname2, subvalue2 in subvalue %}
  30. {%- if subname2 == 'default' %}
  31. {%- set respath = parentValue + subvalue2 %}
  32. {{ menu_item.render(subname, itemName, respath) }}
  33. {%- endif %}
  34. {%- endfor %}
  35. {%- endif %}
  36. {%- endfor %}
  37. </ul>
  38. {# End Submenu items #}
  39. {# Submenu-2 #}
  40. {%- for name, value in theme.menu %}
  41. {%- set respath = value %}
  42. {%- if value == '[object Object]' %}
  43. {%- for subname, subvalue in value %}
  44. {%- set itemName = subname | lower %}
  45. {%- if itemName == 'default' %}
  46. {%- set parentValue = subvalue.split('||')[0] | trim %}
  47. {%- endif %}
  48. {%- if subvalue == '[object Object]' %}
  49. {# If current URL is value of parent submenu 'default' path #}
  50. {%- set paths = page.path.split('/') %}
  51. {%- if paths.length > 2 %}
  52. {%- if paths[1] == subvalue.default.split('||')[0] | trim | replace('/', '') %}
  53. {# Submenu-2 items #}
  54. <ul id="sub-menu-2" class="sub-menu menu">
  55. {%- for subname2, subvalue2 in subvalue %}
  56. {%- set respath2 = subvalue %}
  57. {%- set itemName = subname2 | lower %}
  58. {%- if itemName == 'default' %}
  59. {%- set parentSubValue = subvalue2.split('||')[0] | trim %}
  60. {% else %}
  61. {%- if subvalue2.startsWith('http') %}
  62. {%- set respath2 = subvalue2 %}
  63. {% else %}
  64. {%- set respath2 = parentValue + parentSubValue + subvalue2 %}
  65. {%- endif %}
  66. {{ menu_item.render(subname2, itemName, respath2) }}
  67. {%- endif %}
  68. {%- endfor %}
  69. </ul>
  70. {# End Submenu-2 items #}
  71. {%- endif %}
  72. {%- endif %}
  73. {# End URL & path comparing #}
  74. {%- endif %}
  75. {%- endfor %}
  76. {%- endif %}
  77. {%- endfor %}
  78. {# End Submenu-2 #}
  79. {%- endif %}
  80. {# End URL & path comparing #}
  81. {%- endif %}
  82. {%- endfor %}
  83. {# End Submenu & Submenu-2 #}
  84. {%- endif %}