modular.html.twig 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. {% extends 'partials/base.html.twig' %}
  2. {% macro pageLinkName(text) %}{{ text|lower|replace({' ':'_'}) }}{% endmacro %}
  3. {% import _self as macro %}
  4. {% set show_onpage_menu = header.onpage_menu == true or header.onpage_menu is null %}
  5. {% block javascripts %}
  6. {% if show_onpage_menu %}
  7. {% do assets.add('theme://js/singlepagenav.min.js') %}
  8. {% endif %}
  9. {{ parent() }}
  10. {% endblock %}
  11. {% block bottom %}
  12. {{ parent() }}
  13. {% if show_onpage_menu %}
  14. <script>
  15. // singlePageNav initialization & configuration
  16. $('ul.navigation').singlePageNav({
  17. offset: $('#header').outerHeight(),
  18. filter: ':not(.external)',
  19. updateHash: true,
  20. currentClass: 'active'
  21. });
  22. </script>
  23. {% endif %}
  24. {% endblock %}
  25. {% block header_navigation %}
  26. {% if show_onpage_menu %}
  27. <ul class="navigation">
  28. {% for module in page.collection() if module.header.visible is not same as(false) %}
  29. {% set current_module = (module.active or module.activeChild) ? 'active' : '' %}
  30. <li><a class="{{ current_module }}" href="#{{ macro.pageLinkName(module.menu) }}">{{ module.menu }}</a></li>
  31. {% endfor %}
  32. {% for mitem in site.menu %}
  33. <li>
  34. <a {% if mitem.class %}class="{{ mitem.class }}"{% endif %} href="{{ mitem.url }}">
  35. {% if mitem.icon %}<i class="fa fa-{{ mitem.icon }}"></i>{% endif %}
  36. {{ mitem.text }}
  37. </a>
  38. </li>
  39. {% endfor %}
  40. </ul>
  41. {% else %}
  42. {{ parent() }}
  43. {% endif %}
  44. {% endblock %}
  45. {% block hero %}
  46. {% for module in page.collection() if module.template == 'modular/hero' %}
  47. <div id="{{ macro.pageLinkName(module.menu) }}"></div>
  48. {{ module.content|raw }}
  49. {% endfor %}
  50. {% endblock %}
  51. {% block body %}
  52. {% for module in page.collection() if module.template != 'modular/hero' %}
  53. <div id="{{ macro.pageLinkName(module.menu) }}"></div>
  54. {{ module.content|raw }}
  55. {% endfor %}
  56. {% endblock %}