templates/ECommerce/App/Product/large_icons.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% trans_default_domain 'ECommerceBundle' %}
  3. {%- import 'ECommerce/App/Product/macros.html.twig' as macros -%}
  4. {% block body %}
  5. <div class="container-fluid">
  6. <div class="row">
  7. <div class="container">
  8. <div class="content">
  9. <div class="container">
  10. <div class="row position-relative">
  11. <div class="col product-index-col pr-0">
  12. <div class="row p-0 blog-post-content align-items-start">
  13. <div class="p-0 product-index-table border-left-2 w-100">
  14. <div class="row p-0 pl-5 position-relative">
  15. <img src="{{ asset('assets/static/shop-hero.png') }}" class="img-fluid w-100" alt="Shop Hero" />
  16. <div class="shop-hero-captions">
  17. <h1>{{ 'product.shop-hero-title'|trans }}</h1>
  18. </div>
  19. </div>
  20. <div class="row table-headline p-0 pl-3 pb-5">
  21. {{ form_start(form) }}
  22. <div class="col-2 p-0 sidebar-part">
  23. <button class="sidebar-toggler" type="button" data-toggle="collapse" data-target="#sidebar-part" aria-controls="sidebar-part" aria-expanded="false" aria-label="Toggle sidebar part">
  24. <span class="sidebar-toggler-icon"></span>{{ 'product.filters'|trans }}
  25. </button>
  26. <div class="row p-0 pr-3 collapse sidebar-collapse" id="sidebar-part">
  27. <h3 class="font-24 line-height-113 font-weight-bold pt-53 mb-4 w-100 border-bottom-2-black pb-4 text-uppercase">{{ 'categories'|trans }}</h3>
  28. <h4 class="accordion-header active font-21 line-height-113 font-weight-bold w-100 mb-40">{{ 'product.manufacturer'|trans }}</h4>
  29. {{ form_widget(form.manufacturers, {attr: {class: 'accordion-content max-vh-15 mb-5 w-100'}}) }}
  30. <h4 class="accordion-header active font-21 line-height-113 font-weight-bold w-100 mb-40">{{ 'product.price_range'|trans }}</h4>
  31. <div class="accordion-content range-slider">
  32. <div class="sliders">
  33. </div>
  34. <div class="manual-input-values">
  35. <span class="font-21 line-height-113">
  36. {{ form_widget(form.min) }} {{ currency_code(app.user) }}
  37. </span>
  38. <span class="font-21 line-height-113">
  39. {{ form_widget(form.max,
  40. {attr:
  41. {
  42. max: global_max_product_price(app.user)|number_format(0, '.', ''),
  43. }
  44. })
  45. }} {{ currency_code(app.user) }}
  46. </span>
  47. </div>
  48. </div>
  49. <h4 class="accordion-header active font-21 line-height-113 font-weight-bold w-100 mb-40">{{ 'product.categories'|trans }}</h4>
  50. {{ form_widget(form.categories, {attr: {class: 'accordion-content max-vh-15 mb-5 w-100'}}) }}
  51. <h4 class="accordion-header active font-21 line-height-113 font-weight-bold w-100 mb-40">{{ 'product.sub_categories'|trans }}</h4>
  52. {{ form_widget(form.subCategories, {attr: {class: 'accordion-content max-vh-15 mb-5 w-100'}}) }}
  53. </div>
  54. </div>
  55. <div class="form-inline flex-nowrap">
  56. {{ form_widget(form.sortBy) }}
  57. {% set largeIconView = 'assets/static/large-icon-view.svg' %}
  58. {% set listView = 'assets/static/list-view-selected.svg' %}
  59. {% if app.request.query.get('view') == 'large-icons' %}
  60. {% set largeIconView = 'assets/static/large-icon-view-selected.svg' %}
  61. {% set listView = 'assets/static/list-view.svg' %}
  62. {% endif %}
  63. <a class="list-view text-decoration-none"
  64. href="{{ path(app.request.attributes.get('_route'), app.request.query.all | merge({'view': 'list'})) }}">
  65. <img src="{{ asset(listView) }}" alt="List View">
  66. </a>
  67. <a class="large-icon-view text-decoration-none ml-2"
  68. href="{{ path(app.request.attributes.get('_route'), app.request.query.all | merge({'view': 'large-icons'})) }}">
  69. <img src="{{ asset(largeIconView) }}" alt="Large Icon View">
  70. </a>
  71. </div>
  72. {{ form_end(form) }}
  73. </div>
  74. {% include 'ECommerce/App/Product/large_icons.ajax.twig' %}
  75. <div class="navigation d-flex justify-content-end ml-auto product-index-navigation">
  76. <div class="row pl-0 pr-0">
  77. <div class="col-12 ">
  78. {{ knp_pagination_render(products) }}
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. <div class="row justify-content-center w-100">
  86. <div class="synonym-products">
  87. <div id="interchange-wrapper" class="mt-3 mb-5">
  88. <div class="row justify-content-center">
  89. <div class="col-12 mb-5 text-center">
  90. <h1>{{ 'general.interchange_button_title'|trans }}</h1>
  91. <a class="btn btn-primary mt-4"
  92. href="{{ path('mdl_app_synonym_product_find', { 'title': ('*'|trim('*', 'left')) }) }}"
  93. data-intro="{{ ('intro.interchange'|trans) }}"
  94. data-toggle="replace"
  95. data-trigger="#interchange-wrapper">
  96. <span class="text-capitalize font-21 font-weight-normal">{{ 'general.interchange_button_search'|trans }}</span>
  97. <img src="{{ asset('assets/static/arrows-both-way.svg') }}" class="img-fluid ml-5"
  98. alt="found in interchange catalogue">
  99. </a>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. {% endblock %}
  112. {% block javascripts %}
  113. {{ parent() }}
  114. {{ encore_entry_script_tags('app/twoInputSlider') }}
  115. {{ encore_entry_script_tags('app/submitFormOnChange') }}
  116. {{ encore_entry_script_tags('app/showHideToggle') }}
  117. {% endblock %}