public/themes/karen/products-category.html.twig line 1

Open in your IDE?
  1. {% extends getThemeDir('base.html.twig') %}
  2. {% block seo %}
  3.     {{ render_seo('app_shop_site_products', null, app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}
  4. {% endblock %}
  5. {% block body %}
  6.     {% set data = {
  7.         payload: paginator,
  8.         filters: filters,
  9.         allParameters: app.request.query.all|merge(app.request.attributes.get('_route_params')),
  10.         currentPage: currentPage,
  11.         size: parameters.size,
  12.         request: app.request,
  13.         postType : app.request.attributes.get('postType'),
  14.         requestPath: 'Admin:GlobalSettings:Inspection',
  15.         pageNumber : app.request.query.get('page'),
  16.     } %}
  17.     {% set currentPage = data.currentPage %}
  18.     {% set currentPageParameters = data.currentPageParameters | default({page: "1"}) %}
  19.     {% set size = data.size %}
  20.     <div class="flex flex-col lg:flex-row gap-4 mt-5 container">
  21.         <div class="lg:w-4/4">
  22.             <div class="grid grid-cols-1 xxs:grid-cols-2 xs:grid-cols-2 sm:grid-cols-2 xl:grid-cols-3 gap-3 xs:gap-2 sm:gap-4">
  23.                 {% if data.payload is not iterable %}
  24.                     {% set results = data.payload.results %}
  25.                 {% else %}
  26.                     {% set results = data.payload %}
  27.                 {% endif %}
  28.                 {% for id,item in results %}
  29.                     {% include getThemeDir('modules/cart-product.html.twig') with {'product' : item} %}
  30.                 {% else %}
  31.                     موردی یافت نشد
  32.                 {% endfor %}
  33.             </div>
  34.             {% if data.pagination is not defined or data.pagination == true %}
  35.                 {% set paginator = data.payload %}
  36.                 {% set currentPage = data.currentPage %}
  37.                 {% set params = data.allParameters | default({page: "1"}) %}
  38.                 {% set size = data.size %}
  39.                 {% if paginator.getNumResults > 0 %}
  40.                     <div class="mt-10 w-full flex items-center justify-center">
  41.                         <input type="hidden" id="query-status" value="{{ data.request.get('status') }}"/>
  42.                         <ul class="flex items-center gap-x-3 child:flex child:items-center child:justify-center child:w-8 child:h-8 child:cursor-pointer child:shadow child:rounded-lg child:transition-all child:duration-300">
  43.                             {% for i in paginator.start..paginator.end %}
  44.                                 {% if i == paginator.currentPage %}
  45.                                     <li class="text-white bg-blue-500">
  46.                                         <a href="#">
  47.                                             {{ i }}
  48.                                         </a>
  49.                                     </li>
  50.                                 {% else %}
  51.                                     <li class="bg-white dark:bg-gray-800 hover:bg-blue-500 dark:hover:bg-blue-500 hover:text-white">
  52.                                         <a href="{{ path(currentPage, params|merge({"page": i })) }}">
  53.                                             {{ i }}
  54.                                         </a>
  55.                                     </li>
  56.                                 {% endif %}
  57.                             {% endfor %}
  58.                         </ul>
  59.                     </div>
  60.                 {% endif %}
  61.             {% endif %}
  62.         </div>
  63.     </div>
  64. {% endblock %}