templates/Context/Vendor/VendorPage/index.html.twig line 1

Open in your IDE?
  1. {% extends '@SyliusShop/layout.html.twig' %}
  2. {% import '@SyliusUi/Macro/pagination.html.twig' as pagination %}
  3. {% import '@SyliusUi/Macro/messages.html.twig' as messages %}
  4. {% form_theme form with ['@SyliusUi/Form/theme.html.twig', 'Context/Shop/ProductCategory/formTheme.html.twig'] %}
  5. {% set reviewsCount = 0 %}
  6. {% block content %}
  7.     <div class="ui clearing hidden divider"></div>
  8.     <div class="ui stackable grid">
  9.         <div class="sixteen wide column vendor-banner">
  10.             {% if vendor.getBackgroundImage is not null %}
  11.                 <img id="vendor_banner" src="{{ '/media/cache/resolve/open_marketplace_vendor_background/' ~ vendor.getBackgroundImage.path }}" alt="image broken">
  12.             {% endif %}
  13.             <h1 class="ui monster section dividing header">
  14.                 <div class="vendor-products--vendor-name">
  15.                     {% if vendor.getImage is not null %}
  16.                         <div class="vendor-logo">
  17.                             <img id="vendor_logo" src="{{ '/media/image/' ~ vendor.getImage.path }}" alt="{{ vendor.getImage.owner.companyName }} logo">
  18.                         </div>
  19.                     {% endif %}
  20.                     <div class="text-4xl">
  21.                         {{ vendor.companyName }}
  22.                     </div>
  23.                 </div>
  24.                 <div class="vendor-products--vendor-description text-lg font-normal text-left">{{ vendor.description |raw }}</div>
  25.             </h1>
  26.         </div>
  27.     </div>
  28.         {{ form_start(form, {'method': 'GET', 'attr': {'class': 'ui loadable form'}}) }}
  29.         <div class="ui stackable grid">
  30.             <div class="four wide column">
  31.                 <div id="filters-vertical" class="ui fluid vertical menu product-filters">
  32.                     <div class="ui accordion filters-accordion">
  33.                         <div class="title">
  34.                             <div class="header item">
  35.                                 {{ 'bitbag_sylius_elasticsearch_plugin.ui.filter_results'|trans }}
  36.                                 <i class="dropdown icon"></i>
  37.                             </div>
  38.                         </div>
  39.                         <div class="content">
  40.                             <div class="item">
  41.                                 {{ form_row(form.filters) }}
  42.                             </div>
  43.                         </div>
  44.                     </div>
  45.                 </div>
  46.             </div>
  47.             <div class="twelve wide column">
  48.                 <div class="ui segment">
  49.                     <div class="ui stackable grid">
  50.                         <div class="five wide column">
  51.                             {% set route = 'open_marketplace_shop_vendor_page_index' %}
  52.                             {% set queryParameters = app.request.query.all|unset_elements(['order_by', 'sort', 'page']) %}
  53.                             <div class="ui compact menu">
  54.                                 <div class="ui simple dropdown item">
  55.                                     {{ 'bitbag_sylius_elasticsearch_plugin.ui.sort'|trans }}
  56.                                     <i class="dropdown icon"></i>
  57.                                     <div class="menu">
  58.                                         <a class="item" href="{{ path(route, {'vendor_slug': vendor.slug, 'order_by': 'sold_units', 'sort': 'desc'}|merge(queryParameters)) }}">{{ 'bitbag_sylius_elasticsearch_plugin.ui.bestsellers'|trans }}</a>
  59.                                         <a class="item" href="{{ path(route, {'vendor_slug': vendor.slug, 'order_by': 'product_created_at', 'sort': 'desc'}|merge(queryParameters)) }}">{{ 'bitbag_sylius_elasticsearch_plugin.ui.newest'|trans }}</a>
  60.                                         <a class="item" href="{{ path(route, {'vendor_slug': vendor.slug, 'order_by': 'product_created_at', 'sort': 'asc'}|merge(queryParameters)) }}">{{ 'bitbag_sylius_elasticsearch_plugin.ui.oldest'|trans }}</a>
  61.                                         <a class="item" href="{{ path(route, {'vendor_slug': vendor.slug, 'order_by': 'price', 'sort': 'desc'}|merge(queryParameters)) }}">{{ 'bitbag_sylius_elasticsearch_plugin.ui.most_expensive'|trans }}</a>
  62.                                         <a class="item" href="{{ path(route, {'vendor_slug': vendor.slug, 'order_by': 'price', 'sort': 'asc'}|merge(queryParameters)) }}">{{ 'bitbag_sylius_elasticsearch_plugin.ui.cheapest'|trans }}</a>
  63.                                     </div>
  64.                                 </div>
  65.                             </div>
  66.                             {% set queryParameters = app.request.query.all|unset_elements(['limit', 'page']) %}
  67.                             <div class="ui compact menu">
  68.                                 <div class="ui simple dropdown item">
  69.                                     <span>{{ 'bitbag_sylius_elasticsearch_plugin.ui.per_page'|trans }}</span>
  70.                                     <i class="dropdown icon"></i>
  71.                                     <div class="menu">
  72.                                         {% for limit in bitbag_es_pagination_available_page_limits %}
  73.                                             <a class="item" href="{{ path('open_marketplace_shop_vendor_page_index', {'vendor_slug': vendor.slug, 'limit': limit}|merge(queryParameters)) }}">{{ limit }}</a>
  74.                                         {% endfor %}
  75.                                     </div>
  76.                                 </div>
  77.                             </div>
  78.                         </div>
  79.                         <div class="eleven wide column">
  80.                             <div class="ui search" id="products-search">
  81.                                 <div class="ui fluid large left icon input">
  82.                                     {{ form_widget(form.name, {'attr': {'placeholder': 'sylius.ui.search', 'class': 'prompt'}}) }}
  83.                                     <i class="search icon"></i>
  84.                                 </div>
  85.                             </div>
  86.                         </div>
  87.                     </div>
  88.                 </div>
  89.                 {% if products|length > 0 %}
  90.                     <div class="category-products-grid" id="products">
  91.                         {% for product in products %}
  92.                             <div class="column">
  93.                                 {% include '@SyliusShop/Product/_box.html.twig' %}
  94.                             </div>
  95.                         {% endfor %}
  96.                     </div>
  97.                     <div class="ui hidden divider"></div>
  98.                     {{ pagination.simple(products) }}
  99.                 {% else %}
  100.                     {{ messages.info('sylius.ui.no_results_to_display') }}
  101.                 {% endif %}
  102.             </div>
  103.         </div>
  104.         <button type="submit" style="display: none">
  105.             <i class="search icon"></i>
  106.             {{ 'bitbag_sylius_elasticsearch_plugin.ui.filter'|trans }}
  107.         </button>
  108.         {{ form_end(form, {'render_rest': false}) }}
  109.     <div class="ui clearing hidden divider"></div>
  110. {% endblock %}