templates/Context/Vendor/ProductListing/_productListings.html.twig line 1

Open in your IDE?
  1. {% import '@SyliusUi/Macro/pagination.html.twig' as pagination %}
  2. {% import '@SyliusUi/Macro/buttons.html.twig' as buttons %}
  3. {% import '@SyliusUi/Macro/messages.html.twig' as messages %}
  4. {% import '@SyliusUi/Macro/table.html.twig' as table %}
  5. {% set definition = grid.definition %}
  6. {% set data = grid.data %}
  7. {% set path = path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) %}
  8. {% set criteria = app.request.query.get('criteria') %}
  9. <section class="product-listing-page">
  10.   <section class="page-header" style="display:flex">
  11.     <div class="start-block" style="flex-grow:1">
  12.       <h1 class="ui header">{{ 'app.menu.vendor.products'|trans }}
  13.         <div class="sub header">{{ 'open_marketplace.ui.manage_products'|trans }}</div>
  14.       </h1>
  15.     </div>
  16.     <div class="end-block">
  17.       <div class="ui right floated buttons create-button">
  18.         {% if definition.actionGroups.main is defined %}
  19.           {% for action in definition.getEnabledActions('main') %}
  20.             {% if user_has_privilege(action.options.link.route) %}
  21.               {{ sylius_grid_render_action(grid, action, null) }}
  22.             {% endif %}
  23.           {% endfor %}
  24.         {% endif %}
  25.       </div>
  26.     </div>
  27.   </section>
  28.   <div class="ui divider"></div>
  29.   {% if definition.enabledFilters|length > 0 %}
  30.     <div class="ui hidden divider"></div>
  31.     <div class="ui styled fluid accordion">
  32.       <div class="title {% if criteria is not null %}active{% endif %}">
  33.         <i class="dropdown icon"></i>
  34.         <i class="filter icon"></i>
  35.         {{ 'sylius.ui.filters'|trans }}
  36.       </div>
  37.       <div class="content {% if criteria is not null %}active{% endif %}">
  38.         <form method="get" action="{{ path }}" class="ui loadable form" novalidate>
  39.           <div class="sylius-filters">
  40.             {% for filter in definition.enabledFilters|filter(filter => filter.enabled)|sort_by('position') %}
  41.               <div class="sylius-filters__field">
  42.                 {{ sylius_grid_render_filter(grid, filter) }}
  43.               </div>
  44.             {% endfor %}
  45.           </div>
  46.           {{ buttons.filter() }}
  47.           {{ buttons.resetFilters(path) }}
  48.         </form>
  49.       </div>
  50.     </div>
  51.   {% endif %}
  52.   
  53.   <div class="ui hidden divider"></div>
  54.   <div class="sylius-grid-wrapper">
  55.     <div class="sylius-grid-nav">
  56.       {% if data|length > 0 and definition.actionGroups.bulk is defined and definition.getEnabledActions('bulk')|length > 0 %}
  57.         <div class="sylius-grid-nav__bulk">
  58.           {% for action in definition.getEnabledActions('bulk') %}
  59.             {{ sylius_grid_render_bulk_action(grid, action, null) }}
  60.           {% endfor %}
  61.         </div>
  62.       {% endif %}
  63.       <div class="sylius-grid-nav__pagination {% if definition.limits|length == 0 %}hide-if-empty{% endif %} ">
  64.         {{ pagination.simple(data) }}
  65.       </div>
  66.       {% if definition.limits|length > 1 and data|length > min(definition.limits) %}
  67.         <div class="sylius-grid-nav__perpage">
  68.           <div class="ui fluid one menu sylius-paginate">
  69.             {{ pagination.perPage(data, definition.limits) }}
  70.           </div>
  71.         </div>
  72.       {% endif %}
  73.     </div>
  74.   
  75.     {% if data|length > 0 %}
  76.       <div class="ui segment spaceless table-container">
  77.         <table class="ui sortable stackable very basic celled table custom-table" {{ sylius_test_html_attribute('grid-table') }}>
  78.           <thead>
  79.             <tr>
  80.               {{ table.headers(grid, definition, app.request.attributes) }}
  81.             </tr>
  82.           </thead>
  83.           <tbody {{ sylius_test_html_attribute('grid-table-body') }}>
  84.             {% for row in data %}
  85.               {{ table.row(grid, definition, row) }}
  86.             {% endfor %}
  87.           </tbody>
  88.         </table>
  89.       </div>
  90.     {% else %}
  91.       {{ messages.info('sylius.ui.no_results_to_display') }}
  92.     {% endif %}
  93.     {{ pagination.simple(data) }}
  94.   </div>
  95. </section>