templates/catalog/list.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block body %}
  3.     {% if prods|length or app.request.query.get('filter') == 1 %}
  4.         {% set viewlistpath = path(app.request.attributes.get('_route'), app.request.attributes.all._route_params|merge(app.request.query.all)|merge({'view': 'list'})) %}
  5.         {% set viewgridpath = path(app.request.attributes.get('_route'), app.request.attributes.all._route_params|merge(app.request.query.all)|merge({'view': 'grid'})) %}
  6.         {% set view30path = path(app.request.attributes.get('_route'), app.request.attributes.all._route_params|merge(app.request.query.all)|merge({'results': 30})) %}
  7.         {% set view60path = path(app.request.attributes.get('_route'), app.request.attributes.all._route_params|merge(app.request.query.all)|merge({'results': 60})) %}
  8.         {% set view90path = path(app.request.attributes.get('_route'), app.request.attributes.all._route_params|merge(app.request.query.all)|merge({'results': 90})) %}
  9.         {% if not cats|length %}
  10.             <h1 class="pl-h1">{{ page.h1 }}</h1>
  11.         {% endif %}
  12.         {% if args[0] == 'catalog' and (args[1] == 'action' or args[1] == 'new' or args[1] == 'pop' or args[1] == 'mix' or args[1] == 'onsale' or args[1] == 'selection1' or args[1] == 'selection2') and args[2] == '' %}
  13.             {{ page.cont }}
  14.         {% endif %}
  15.         {% if (request_uri == canonical and not cats|length) or catpage == 1 %}
  16.             {{ page.cont2 }}
  17.         {% endif %}
  18.         {% if paginator.start > 0 %}
  19.             <div class="hidden-xs">
  20.             {% endif %}
  21.             {{ subcat_list_rendered.content|raw }}
  22.             {% if paginator.start > 0 %}
  23.             </div>
  24.         {% endif %}
  25.         {% if args[1] in ['new', 'pop', 'mix', 'onsale', 'search', 'action', 'selection1', 'selection2'] %}
  26.             <div
  27.                 data-controller="block-loader"
  28.                 data-block-loader-url-value="{{ path('block_chars_selected_spec', {'cat_id': cat_id, 'cat_intname': (cat_intname ? cat_intname : 'default'), 'spec': args[1], 'filters': filters}) }}"
  29.                 data-block-loader-ignore-errors-value="true"
  30.             >
  31.                 <div class="loading"></div>
  32.             </div>
  33.         {% else %}
  34.             <div
  35.                 data-controller="block-loader"
  36.                 data-block-loader-url-value="{{ path('block_chars_selected', {'cat_id': cat_id, 'cat_intname': cat_intname, 'filters': filters}) }}"
  37.                 data-block-loader-ignore-errors-value="true"
  38.             >
  39.                 <div class="loading"></div>
  40.             </div>
  41.         {% endif %}
  42.         {% if not (args[0] == 'catalog' and (args[1] == 'action' or args[1] == 'new' or args[1] == 'pop' or args[1] == 'mix' or args[1] == 'onsale' or args[1] == 'selection1' or args[1] == 'selection2') and args[2] is not empty) %}
  43.             {% else %}
  44.                 <div class="listingPageLinks visible-xs m-cat-block-1">
  45.                     <a href="{{ path('prod_list_spec', {'spec': args[1] }) }}" class="action-count">
  46.                         <i class="fa fa-angle-left"></i>&nbsp;&nbsp;
  47.                         {% if args[1] == 'action' %}
  48.                             {{ labels.get('prod-list-1')|raw }}
  49.                         {% elseif args[1] == 'new' %}
  50.                             {{ labels.get('prod-list-2')|raw }}
  51.                         {% elseif args[1] == 'pop' %}
  52.                             {{ labels.get('prod-list-3')|raw }}
  53.                         {% elseif args[1] == 'mix' %}
  54.                             {{ labels.get('prod-list-4')|raw }}
  55.                         {% elseif args[1] == 'onsale' %}
  56.                             {{ labels.get('prod-list-5')|raw }}
  57.                         {% elseif args[1] == 'selection1' %}
  58.                             {{ labels.get('prod-list-25')|raw }}
  59.                         {% elseif args[1] == 'selection2' %}
  60.                             {{ labels.get('prod-list-26')|raw }}
  61.                         {% endif %}
  62.                     </a>
  63.                     <span class="pull-right action-count">{{ labels.get('prod-list-6')|raw }}:
  64.                         {{ paginator.cnt }}</span>
  65.                 </div>
  66.         {% endif %}
  67.         <div class="visible-xs m-cat-block-2">
  68.             <div class="row">
  69.                 <div class="col-xs-4">
  70.                     <div class="m-pl-sort">{{ labels.get('prod-list-7')|raw }}&nbsp;<i class="fa fa-angle-down"></i>
  71.                     </div>
  72.                 </div>
  73.                 <div class="col-xs-8">
  74.                     {% if (prods|length or app.request.query.get('filter') == 1) and cat %}
  75.                         <div class="psb-view psb-view-1 pull-right pl-filter">
  76.                             <a href="#" class="list">
  77.                                 <i class="fa fa-filter"></i>&nbsp;
  78.                                 {{ labels.get('prod-list-8')|raw }}</a>
  79.                         </div>
  80.                     {% endif %}
  81.                     <div class="pull-right m-psb-delimiter">
  82.                         |
  83.                     </div>
  84.                     <div class="pull-right m-psb-view">
  85.                         <form action="{{ path('redirect') }}" method="post">
  86.                             <button type="submit" name="redirect" class="list{% if view_mode is empty or view_mode == 'list' %}a{% endif %}" value="{{ viewlistpath }}">
  87.                                 <i class="fa fa-list-ul"></i>
  88.                             </button>
  89.                         </form>
  90.                         <form action="{{ path('redirect') }}" method="post">
  91.                             <button type="submit" name="redirect" class="grid{% if view_mode == 'grid' %}a{% endif %}" value="{{ viewgridpath }}">
  92.                                 <i class="fa fa-th-large"></i>
  93.                             </button>
  94.                         </form>
  95.                     </div>
  96.                 </div>
  97.             </div>
  98.         </div>
  99.         <div class="pa visible-xs m-pl-sort-block">
  100.             {{ include('catalog/block/sort.html.twig') }}
  101.         </div>
  102.         <div class="pc-buy"></div>
  103.         <!-- Product Sorting Bar -->
  104.         <div class="product-sorting-bar hidden-xs">
  105.             <div class="pull-left pl-sort">
  106.                 <div class="fl">{{ labels.get('catalog-sort-1')|raw }}:&nbsp;</div>
  107.                 <div class="fl pr">
  108.                     <div class="pl-sort-a">
  109.                         {% if app.request.query.get('order') == 'changed' %}
  110.                             {{ labels.get('catalog-sort-2')|raw }}
  111.                         {% elseif app.request.query.get('order') == 'prior' %}
  112.                             {{ labels.get('catalog-sort-3')|raw }}
  113.                         {% elseif app.request.query.get('order') == 'price' %}
  114.                             {{ labels.get('catalog-sort-4')|raw }}
  115.                         {% elseif app.request.query.get('order') == 'skidka' %}
  116.                             {{ labels.get('catalog-sort-8')|raw }}
  117.                         {% else %}
  118.                             {{ labels.get('catalog-sort-5')|raw }}
  119.                         {% endif %}&nbsp;<i class="fa fa-angle-down"></i>
  120.                     </div>
  121.                     <div class="pa pl-sort-block">
  122.                         {{ include('catalog/block/sort.html.twig') }}
  123.                     </div>
  124.                 </div>
  125.             </div>
  126.             <div class="pull-right pl-pcount pr">
  127.                 <div class="fl">{{ labels.get('prod-list-12')|raw }}:&nbsp;</div>
  128.                 <div class="fl pr">
  129.                     <div class="pl-pcount-a">{{ results }}&nbsp;<i class="fa fa-angle-down"></i>
  130.                     </div>
  131.                     <div class="pa pl-pcount-block">
  132.                         <ul>
  133.                             <li>
  134.                                 <form action="{{ path('redirect') }}" method="post">
  135.                                     <button type="submit" name="redirect" value="{{ view30path }}">30</button>
  136.                                 </form>
  137.                             </li>
  138.                             <li>
  139.                                 <form action="{{ path('redirect') }}" method="post">
  140.                                     <button type="submit" name="redirect" value="{{ view60path }}">60</button>
  141.                                 </form>
  142.                             </li>
  143.                             <li>
  144.                                 <form action="{{ path('redirect') }}" method="post">
  145.                                     <button type="submit" name="redirect" value="{{ view90path }}">90</button>
  146.                                 </form>
  147.                             </li>
  148.                         </ul>
  149.                     </div>
  150.                 </div>
  151.             </div>
  152.             <div class="psb-view pull-right">
  153.                 {{ labels.get('prod-list-9')|raw }}:
  154.                 <form action="{{ path('redirect') }}" method="post">
  155.                     <button type="submit" name="redirect" class="list{% if view_mode == 'list' or ((env.site == env.mir or env.site == env.miropt) and view_mode is empty) %}a{% endif %}" value="{{ viewlistpath }}">
  156.                         <i class="fa fa-list-ul"></i>
  157.                         {{ labels.get('prod-list-10')|raw }}</button>
  158.                 </form>
  159.                 <form action="{{ path('redirect') }}" method="post">
  160.                     <button type="submit" name="redirect" class="grid{% if view_mode == 'grid' or ((env.site == env.mir or env.site == env.miropt) and view_mode is empty) %}a{% endif %}" value="{{ viewgridpath }}">
  161.                         <i class="fa fa-th-large"></i>
  162.                         {{ labels.get('prod-list-11')|raw }}</button>
  163.                 </form>
  164.             </div>
  165.         </div>
  166.         <!-- End Product Sorting Bar -->
  167.         {% if not prods|length %}
  168.             <div class="pl-empty">{{ labels.get('prod-list-13')|raw }}</div>
  169.         {% else %}
  170.             <div class="pl-block">
  171.                 {% for prod in prods %}
  172.                     {% set prodone = prod %}
  173.                     {% if view_mode != 'grid' %}
  174.                         <div class="col-md-12 box-product-outer bpo-list pl-list">
  175.                             <div class="bpo-loading"></div>
  176.                             <div class="box-product">
  177.                                 <div class="col-md-2 col-xs-4 pl-img col-xl-pl-1" data-img="pl-img-{{ prod.id }}">
  178.                                     <div class="img-wrapper pl-image-detail pl-img-thumb-{{ prod.id }}">
  179.                                         <a class="group list-img-thumb" href="{{ asset(env.host_static ~ '/pic/prod-l/' ~ prod.id ~ '.jpg') }}" data-href="{{ path('prod_cont', {'prod_id': prod.id}) }}">
  180.                                             <img class="b-lazy" src="{{ asset('loading-img' ~ (env_is_opt ? '-opt' : '') ~ '.gif', 'img') }}" data-src="{{ asset(env.host_static ~ '/pic/prod-m/' ~ prod.id ~ '.jpg') }}" alt="{{ prod.name }}">
  181.                                         </a>
  182.                                         <a class="group2 list-img-thumb" href="{{ asset(env.host_static ~ '/pic/prod-l/' ~ prod.id ~ '.jpg') }}" data-href="{{ path('prod_cont', {'prod_id': prod.id}) }}">
  183.                                             <img class="b-lazy" src="{{ asset('loading-img' ~ (env_is_opt ? '-opt' : '') ~ '.gif', 'img') }}" data-src="{{ asset(env.host_static ~ '/pic/prod-m/' ~ prod.id ~ '.jpg') }}" alt="{{ prod.name }}">
  184.                                         </a>
  185.                                     </div>
  186.                                     <div class="pl-labels-{{ prod.id }}">
  187.                                         {{ include('catalog/block/prod-labels.html.twig') }}
  188.                                     </div>
  189.                                 </div>
  190.                                 <div class="col-md-7 col-xs-8 col-xl-pl-2">
  191.                                     <div class="h6 pl-name-{{ prod.id }} gpl-h6">
  192.                                         <a href="{{ path('prod_cont', {'prod_id': prod.id}) }}" title="{{ prod.name }}">
  193.                                             {% if prod.pop %}<img src="{{ asset('hot' ~ app.request.locale ~ '.png', 'img') }}" alt="hot" class="prod-hot">
  194.                                             {% endif %}
  195.                                             {{ prod.name|replace({(' (' ~ prod.art|trim ~ ')'): '<span class="gpl-art2"> (' ~ prod.art|trim ~ ')</span>'})|raw }}
  196.                                             <span class="gpl-art">...({{ prod.art }})</span>
  197.                                         </a>
  198.                                     </div>
  199.                                     {% if prod.colors|length %}
  200.                                         <div class="pl-colors-block">
  201.                                             <div class="pl-colors">
  202.                                                 <div class="pl-colors-container">
  203.                                                 {% for color in prod.colors %}
  204.                                                     <a href="#" class="prod-select-color{% if color == prodone.id %} active{% endif %}" data-id="{{ prod.id }}" data-color="{{ color }}" data-host="{{ env.host_static }}">
  205.                                                         <div class="pa pca"><img src="{{ asset('pc_active.png', 'img') }}" alt=""></div>
  206.                                                         <img class="b-lazy" src="{{ asset('loading-img' ~ (env.is_opt ? '-opt' : '') ~ '.gif', 'img') }}" data-src="{{ asset(env.host_static ~ '/pic/prod-s/' ~ color ~ '.jpg') }}" width="32" height="32" alt="">
  207.                                                     </a>
  208.                                                 {% endfor %}
  209.                                                     <div class="clear"></div>
  210.                                                 </div>
  211.                                             </div>
  212.                                             {#% if prod.colors|length > 9 %#}
  213.                                             <div class="pl-colors-showmore">
  214.                                                 <a href="#" class="top-phone-2">{{ labels.get('prod-list-14')|raw }}</a>
  215.                                             </div>
  216.                                             {#% endif %#}
  217.                                         </div>
  218.                                     {% endif %}
  219.                                     <span class="weight">
  220.                                         {{ labels.get('pack')|raw }}: &nbsp;
  221.                                         <span class="pl-inpack-{{ prod.id }}">{{ include('catalog/block/prod-inpack.html.twig') }}</span>
  222.                                     </span>
  223.                                     <span class="weight hidden-xs pl-weight-{{ prod.id }}">
  224.                                         <span class="ves2">{{ labels.get('weight')|raw }}: &nbsp;</span>
  225.                                         {{ include('catalog/block/prod-weight.html.twig') }}
  226.                                     </span>
  227.                                 </div>
  228.                                 <div class="col-md-3 col-xs-12 col-xl-pl-3">
  229.                                     <div class="row">
  230.                                         <div class="col-xs-12 col-sm-12">
  231.                                             <div class="row">
  232.                                                 <div class="col-xs-10 col-sm-12 nopadding">
  233.                                                     <div class="xprice pl-xprice-{{ prod.id }}">
  234.                                                         {{ include('catalog/block/prod-price.html.twig') }}
  235.                                                     </div>
  236.                                                 </div>
  237.                                                 <div class="col-xs-2 col-sm-12">
  238.                                                     <div class="xform pl-form-{{ prod.id }}">
  239.                                                         {{ include('catalog/block/prod-form.html.twig') }}
  240.                                                     </div>
  241.                                                     <div class="pl-wishlist-{{ prod.id }} pl-wishlist">
  242.                                                         {{ include('catalog/block/prod-wishlist.html.twig') }}
  243.                                                     </div>
  244.                                                 </div>
  245.                                             </div>
  246.                                         </div>
  247.                                     </div>
  248.                                 </div>
  249.                                 <div class="clear"></div>
  250.                             </div>
  251.                         </div>
  252.                     {% else %}
  253.                         <div class="col-sm-4 col-md-4 col-lg-3 col-xl-3 col-xs-6 box-product-outer bpo-grid pl-grid">
  254.                             <div class="bpo-loading"></div>
  255.                             <div class="box-product">
  256.                                 <div class="img-wrapper pl-img-thumb-{{ prod.id }} pl-slider-colors">
  257.                                     <a
  258.                                         href="{{ path('prod_cont', {'prod_id': prod.id}) }}" class="grid-img-thumb bp-loading">
  259.                                         <!-- ontouchend="if(body.clientWidth>991) {return false;}"-->
  260.                                         <img
  261.                                         class="b-lazy" src="{{ asset('loading-img' ~ (env_is_opt ? '-opt' : '') ~ '.gif', 'img') }}" data-src="{{ asset(env.host_static ~ '/pic/prod-m/' ~ prod.id ~ '.jpg') }}" alt="{{ prod.name }}" title="{{ prod.name }}">
  262.                                     <!-- onclick="<?=\ASweb\SEO\GoogleTrade::gProdClick($prod->id)?>"-->
  263.                                     </a>
  264.                                     <div
  265.                                         class="main-recomended-prods">
  266.                                         <!-- Full Slider -->
  267.                                         <div class="container-fluid">
  268.                                             <div class="row">
  269.                                                 <div class="pl-slider-2-{{ prod.id }} pl-slider-2" data-id="{{ prod.id }}">
  270.                                                     <a
  271.                                                         href="{{ path('prod_cont', {'prod_id': prod.id}) }}" class="grid-img-thumb">
  272.                                                         <!-- ontouchend="if(body.clientWidth>991) {return false;}"-->
  273.                                                         <img src="{{ asset(env.host_static ~ '/pic/prod-m/' ~ prod.id ~ '.jpg') }}" alt="{{ prod.name }}" title="{{ prod.name }}">
  274.                                                     </a>
  275.                                                     {% for photo in prod.photos %}
  276.                                                         <a
  277.                                                             href="{{ path('prod_cont', {'prod_id': prod.id}) }}" class="grid-img-thumb">
  278.                                                             <!-- ontouchend="if(body.clientWidth>991) {return false;}"-->
  279.                                                             <img src="{{ asset(env.host_static ~ '/pic/photo/' ~ photo.id ~ '.jpg') }}" alt="">
  280.                                                         </a>
  281.                                                     {% endfor %}
  282.                                                 </div>
  283.                                             </div>
  284.                                         </div>
  285.                                         <!-- End Full Slider -->
  286.                                     </div>
  287.                                 </div>
  288.                                 <div class="pl-labels-{{ prod.id }}">
  289.                                     {{ include('catalog/block/prod-labels.html.twig') }}
  290.                                 </div>
  291.                                 <div class="pc-new pl-wish pl-grid-hover">
  292.                                     <div class="pl-grid-wishlist pl-wishlist-{{ prod.id }}-2">
  293.                                         {{ include('catalog/block/prod-wishlist.html.twig') }}
  294.                                     </div>
  295.                                 </div>
  296.                                 <div class="pa visible-xs">
  297.                                     <div class="pc-wish pl-wishlist-{{ prod.id }}">
  298.                                         {{ include('catalog/block/prod-wishlist-mobile.html.twig') }}
  299.                                     </div>
  300.                                 </div>
  301.                                 <div class="pa w100 hidden-xs pl-grid-hover">
  302.                                     <div class="pa pl-grid-form">
  303.                                         <div class="pgf-1">
  304.                                             <div class="pl-form-{{ prod.id }}-2">
  305.                                                 {{ include('catalog/block/prod-form.html.twig') }}
  306.                                             </div>
  307.                                         </div>
  308.                                     </div>
  309.                                 </div>
  310.                                 <div class="hidden-xs">{{ include('catalog/block/prod-colors.html.twig') }}</div>
  311.                                 <div class="h6 pl-name-{{ prod.id }} gpl-h6">
  312.                                     <div class="gpl-art">
  313.                                         <a href="{{ path('prod_cont', {'prod_id': prod.id}) }}">...({{ prod.art }})</a>
  314.                                     </div>
  315.                                     <a href="{{ path('prod_cont', {'prod_id': prod.id}) }}" title="{{ prod.name }}">
  316.                                         {% if prod.pop %}<img src="{{ asset('hot' ~ app.request.locale ~ '.png', 'img') }}" alt="hot" class="prod-hot">
  317.                                         {% endif %}
  318.                                         {{ prod.name|replace({(' (' ~ prod.art|trim ~ ')'): '<span class="gpl-art2"> (' ~ prod.art|trim ~ ')</span>'})|raw }}</a>
  319.                                 </div>
  320.                                 <div class="weight hidden-xs">
  321.                                     {{ labels.get('pack')|raw }}: &nbsp;
  322.                                     <span class="pl-inpack-{{ prod.id }}">{{ include('catalog/block/prod-inpack.html.twig') }}</span>
  323.                                 </div>
  324.                                 <div class="weight visible-xs">
  325.                                     {{ labels.get('pack')|raw }}: &nbsp;
  326.                                     <span class="pl-inpack-{{ prod.id }}">{{ include('catalog/block/m-prod-inpack.html.twig') }}</span>
  327.                                 </div>
  328.                                 <div class="xprice pl-price-{{ prod.id }}">
  329.                                     {{ include('catalog/block/prod-price.html.twig') }}
  330.                                 </div>
  331.                                 <div class="xform visible-xs pl-form-{{ prod.id }}">
  332.                                     {{ include('catalog/block/m-prod-form.html.twig') }}
  333.                                 </div>
  334.                             </div>
  335.                         </div>
  336.                     {% endif %}
  337.                 {% endfor %}
  338.             </div>
  339.         {% endif %}
  340.         <div class="clearfix"></div>
  341.         {% if prods|length %}
  342.             <div class="listingPageLinks">
  343.                 {{ include('block/rule/rule.html.twig') }}
  344.             </div>
  345.         {% endif %}
  346.         <div class="clear"></div>
  347.     {% elseif app.request.query.get('novinki') %}
  348.         <br><br><br>
  349.         {{ labels.get('prod-list-15')|raw }}
  350.         <br/><br/>
  351.         <a href="?novinki=">{{ labels.get('prod-list-16')|raw }}</a>
  352.     {% elseif args[1]=='search' %}
  353.         {% if not cats|length %}
  354.             <h3>{{ labels.get('prod-list-17')|raw }}: "<span class="search-0-q">{{ app.request.query.get('q') }}</span>"</h3>
  355.             <b class="search-b">{{ labels.get('prod-list-18')|raw }}:</b>
  356.             <ol class="search-ol">
  357.                 <li>{{ labels.get('prod-list-19')|raw }}</li>
  358.                 <li>{{ labels.get('prod-list-20')|raw }}</li>
  359.                 <li>{{ labels.get('prod-list-21')|raw }}</li>
  360.                 <li>{{ labels.get('prod-list-22')|raw }}</li>
  361.             </ol>
  362.         {% endif %}
  363.     {% elseif not cats|length %}
  364.         <br><br><br>
  365.         {{ labels.get('prod-list-23')|raw }}
  366.     {% endif %}
  367.     {% if showcont %}
  368.         <div class="pagecont">
  369.             {{ cont|raw }}
  370.             <table>
  371.                 <tbody>
  372.                     <tr>
  373.                         <td style="text-align: left;">✅
  374.                             {{ labels.get('prodstable-1')|raw }}</td>
  375.                         <td>{{ prodstable.cat }}</td>
  376.                     </tr>
  377.                     <tr>
  378.                         <td style="text-align: left;">✅
  379.                             {{ labels.get('prodstable-2')|raw }}</td>
  380.                         <td>{{ prodstable.cnt }}</td>
  381.                     </tr>
  382.                     <tr>
  383.                         <td style="text-align: left;">✅
  384.                             {{ labels.get('prodstable-3')|raw }}</td>
  385.                         <td>{{ prodstable.avgprice }}
  386.                             {{ env.valuta.name }}</td>
  387.                     </tr>
  388.                     <tr>
  389.                         <td style="text-align: left;">✅
  390.                             {{ labels.get('prodstable-4')|raw }}</td>
  391.                         <td>{{ prodstable.minprice }}
  392.                             {{ env.valuta.name }}</td>
  393.                     </tr>
  394.                     <tr>
  395.                         <td style="text-align: left;">✅
  396.                             {{ labels.get('prodstable-5')|raw }}</td>
  397.                         <td>{{ prodstable.maxprice }}
  398.                             {{ env.valuta.name }}</td>
  399.                     </tr>
  400.                 </tbody>
  401.             </table>
  402.         </div>
  403.     {% endif %}
  404. {% endblock %}