templates/ProfileList/list.html.twig line 1

Open in your IDE?
  1. {% extends 'grid.html.twig' %}
  2. {% set listingPage = profiles.currentPage is defined and profiles.currentPage > 1 %}
  3. {% set isFirstPage = profiles.currentPage is defined and profiles.currentPage == 1 %}
  4. {% set forYandex = app.request.requestUri == "/" and page_metadata_variant == "yandex" %}
  5. {%- set route = app.request.get('_route') -%}
  6. {% block title %}{{ seo_title() }}{% endblock %}
  7. {% block metaDescription %}
  8.     <meta name="description" content="{{ seo_description() }}">
  9. {% endblock %}
  10. {% block name_page %}girls-list{% endblock %}
  11. {% block current_menu_map %} current{% endblock %}
  12. {% block canonical %}<link rel="canonical" href="{{ canonical_url() }}{{ listingPage ? 'page' ~ profiles.currentPage ~ '/' : ''}}">{% endblock %}
  13. {% block mainContainer %}
  14.     {% set excludeRecommendationProfileIds = [] %}
  15.     {{ knp_menu_render('breadcrumbs', {'template': '_menu/breadcrumbs.html.twig'}) }}
  16.     <header class="list_heading border-line" role="heading">
  17.         <div class="list_heading-inner">
  18.             <h1 class="list_heading__title" role="heading">{% if forYandex %}Проститутки Москвы индивидуалки{% else %}{{ seo_heading() }}{% endif %}</h1>
  19.             <span class="list_heading__count">{{ profiles.totalCount }}</span>
  20.         </div>
  21.     </header>
  22.     {# {{ include('components/top_seo.html.twig', { 'type': 'main' }) }} #}
  23.     {#{% if source is defined and source %}
  24.         <div class="empty-category level d-flex overflow-hidden mb-4">
  25.             <div class="empty-category__icon d-flex align-items-center justify-content-center">
  26.                 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 34 30"><path fill="#FF3F40" fill-rule="evenodd" d="M.5 29.25L17 .75l16.5 28.5H.5zm27.8-3L17 6.73 5.7 26.25h22.6zm-12.8-4.5v3h3v-3h-3zm0-9h3v6h-3v-6z" clip-rule="evenodd"/></svg>
  27.             </div>
  28.             <div class="flex-fill px-3 px-sm-4 py-3">
  29.                 <p class="m-0">
  30.                     {% if source == 'county' %}К сожалению, все девушки из округа
  31.                         <a href="{{ category_url }}">{{ county.name }}</a>
  32.                         сейчас отдыхают, посмотрите проституток из других округов города
  33.                         {{ city.name|trans }}.
  34.                     {% endif %}
  35.                     {% if source == 'district' %}К сожалению, все девушки из района
  36.                         <a href="{{ category_url }}">{{ district.name }}</a>
  37.                         сейчас отдыхают, посмотрите проституток из других районов города
  38.                         {{ city.name|trans }}.
  39.                     {% endif %}
  40.                     {% if source == 'station' %}К сожалению, все девушки работающие вблизи метро
  41.                         <a href="{{ category_url }}">{{ station.name }}</a>
  42.                         сейчас отдыхают, посмотрите проституток у других станций метро в этом районе города
  43.                         {{ city.name|trans }}.
  44.                     {% endif %}
  45.                     {% if source == 'approved' or source == 'with_comments' or  source == 'with_video' or source == 'elite' or source == 'with_selfie' %}
  46.                         {% if source == 'approved' %}
  47.                             {% set source_name = '<a href="' ~ path('profile_list.list_approved', {city:city.uriIdentity}) ~ '">Проверенные анкеты</a>' %}
  48.                         {% elseif source == 'with_comments' %}
  49.                             {% set source_name = '<a href="' ~ path('profile_list.list_with_comments', {city:city.uriIdentity}) ~ '">Анкеты с отзывами</a>' %}
  50.                         {% elseif source == 'with_video' %}
  51.                             {% set source_name = '<a href="' ~ path('profile_list.list_with_video', {city:city.uriIdentity}) ~ '">Анкеты с видео</a>' %}
  52.                         {% elseif source == 'with_selfie' %}
  53.                             {% set source_name = '<a href="' ~ path('profile_list.list_with_selfie', {city:city.uriIdentity}) ~ '">Анкеты с селфи</a>' %}
  54.                         {% elseif source == 'elite' %}
  55.                             {% set source_name = '<a href="' ~ path('profile_list.list_for_elite_girls', {city:city.uriIdentity}) ~ '" style="pointer-events:none">Элитные проститутки</a>' %}
  56.                         {% else %}
  57.                             {% set source_name = '' %}
  58.                         {% endif %}
  59.                         {% if source_default == 'approved' %}К сожалению, все
  60.                             <a href="{{ category_url }}">проверенные девушки</a>
  61.                             сейчас отдыхают, посмотрите раздел
  62.                             {{ source_name|raw }}
  63.                         {% endif %}
  64.                         {% if source_default == 'with_comments' %}К сожалению, все
  65.                             <a href="{{ category_url }}">девушки, у которых есть отзывы</a>
  66.                             сейчас отдыхают, посмотрите раздел
  67.                             {{ source_name|raw }}
  68.                         {% endif %}
  69.                         {% if source_default == 'with_video' %}К сожалению, все
  70.                             <a href="{{ category_url }}">девушки, у которых есть видео</a>
  71.                             сейчас отдыхают, посмотрите раздел
  72.                             {{ source_name|raw }}
  73.                         {% endif %}
  74.                         {% if source_default == 'with_selfie' %}
  75.                             К сожалению, все <a href="{{ category_url }}">девушки, у которых есть селфи</a> сейчас отдыхают, посмотрите раздел {{ source_name|raw }}
  76.                         {% endif %}
  77.                     {% endif %}
  78.                     {% if source == 'by_params' %}К сожалению, раздел пуст. Посмотрите другие анкеты, которые мы подобрали для Вас.
  79.                     {% endif %}
  80.                     {% if source == 'service' %}К сожалению, все девушки, которые практикуют услугу
  81.                         <a href="{{ category_url }}">{{ service.name }}</a>
  82.                         сейчас отдыхают. Но мы подобрали для Вас девушек которые не против оказать Вам похожие услуги, взгляните!
  83.                     {% endif %}
  84.                     {% if source == 'city' %}К сожалению, данный раздел пуст. Взгляните на другие анкеты, которые мы нашли для Вас в городе
  85.                         {{ city.name|trans }}.
  86.                     {% endif %}
  87.                     {% if source == 'country' %}К сожалению, данный раздел пуст. Взгляните на анкеты которые мы подобрали для Вас.
  88.                     {% endif %}
  89.                     {% if source == 'massage_service' %}К сожалению, все девушки для которых массаж — это призвание сейчас отдыхают. Посмотрите проституток, которые также готовы сделать Вам массаж.
  90.                     {% endif %}
  91.                 </p>
  92.             </div>
  93.         </div>
  94.     {% endif %}#}
  95.         <div id="filter-form-root">
  96.         <button class="filter_hide_button rounding" type="button" id="filter_hide_button">
  97.             <svg class="filter_hide_button__icon" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><use xlink:href="#filter"></use></svg>
  98.             <span class="filter_hide_button__text" data-filter-hide-text-show>Фильтры</span>
  99.             <svg class="filter_hide_button__rotate" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.45 9.87a.84.84 0 0 1 1.24 0l3.3 3.5 3.32-3.5a.84.84 0 0 1 1.23 0c.34.36.34.95 0 1.3l-3.92 4.16a.84.84 0 0 1-1.24 0l-3.93-4.15a.96.96 0 0 1 0-1.31Z" /></svg>
  100.         </button>
  101.         <div class="filter_hide_block" id="filter_hide_block">
  102.             {# Форма полей фильтрации #}
  103.             <form name="profile_filter_form" method="post" action="/filter/" class="filter_form" id="filter-form" data-process-url="/profile_ctr/increase-shows/" data-main-class="profile_filter">
  104.                 <div class="profile_filter">
  105.                     <button class="profile_filter__mobile_button" type="button">
  106.                         <svg class="profile_filter__mobile_button__icon" fill="#666" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><use xlink:href="#filter"></use></svg>
  107.                         <span class="profile_filter__mobile_button__text">Фильтры</span>
  108.                         <svg class="profile_filter__mobile_button__icon profile_filter__mobile_button__icon-arrow" fill="#666" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="transform:rotate(180deg)"><use xlink:href="#filter-arrow"></use></svg>
  109.                     </button>
  110.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  111.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  112.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  113.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  114.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  115.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  116.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  117.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  118.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  119.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  120.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  121.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  122.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  123.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  124.                     <div class="profile_filter__item rounding profile_filter__item--loading"></div>
  125.                 </div>
  126.             </form>
  127.         </div>
  128.         <div class="profile_filter__tags__container fade_slider__container">
  129.             <div class="profile_filter__tags d-none fade_slider" id="filter_tags"></div>
  130.         </div>
  131.         <div class="profile_filter__line" id="filter_line">
  132.             <div class="profile_filter__line__title">Найдено <span class="profile_filter__line__title__count">{{ profiles.totalCount }} {{ profiles.totalCount|incline_numeral(['анкета', 'анкеты', 'анкет']) }}</span></div>
  133.             <button class="profile_filter__line__reset" type="button" id="filter_line_reset">Сбросить фильтры <svg class="profile_filter__line__reset_icon" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.7 1.7A1 1 0 0 0 12.3.3L7 5.58 1.7.29A1 1 0 0 0 .3 1.71L5.58 7l-5.3 5.3a1 1 0 1 0 1.42 1.4L7 8.42l5.3 5.3a1 1 0 0 0 1.4-1.42L8.42 7l5.3-5.3Z" fill="#254CB1"/></svg>
  134.             </button>
  135.         </div>
  136.     </div>
  137.     <div class="profiles-items-row" id="profile-list" data-show-more-append>
  138.         {% block profileList %}
  139.             {% include 'ProfileList/list.profiles.html.twig' with {'profileList': profiles } %}
  140.         {% endblock %}
  141.     </div>
  142.     {% include 'ProfileList/_show_more.profiles.html.twig' %}
  143.     {{ porpaginas_render(profiles) }}
  144.     {# {% set cities_circle = city_main_pages_linkage_circle() %}
  145.     {% if cities_circle is not null %}
  146.         <div class="city-main-pages-linkage-circle">
  147.             {% if cities_circle[0] is not null %}<a href="{{ cities_circle[0].href }}" style="text-transform: capitalize;"><i class="prev"></i>{{ cities_circle[0].text }}</a>{% endif %}
  148.             <span class="sep"></span>
  149.             {% if cities_circle[1] is not null %}<a href="{{ cities_circle[1].href }}" style="text-transform: capitalize;">{{ cities_circle[1].text }}<i class="next"></i></a>{% endif %}
  150.         </div>
  151.     {% endif %} #}
  152.     {# {% if app.request.pathInfo != '/' %}
  153.         {% set cities_circle = city_main_pages_linkage_by_countries_circle() %}
  154.         {% if cities_circle is not null %}
  155.             <div class="city-main-pages-linkage-circle">
  156.                 {% if cities_circle[0] is not null %}<a href="{{ cities_circle[0].href }}" style="text-transform: capitalize;"><i class="prev"></i>{{ cities_circle[0].text }}</a>{% endif %}
  157.                     <span class="sep"></span>
  158.                 {% if cities_circle[1] is not null %}<a href="{{ cities_circle[1].href }}" style="text-transform: capitalize;">{{ cities_circle[1].text }}<i class="next"></i></a>{% endif %}
  159.             </div>
  160.         {% endif %}
  161.     {% endif %} #}
  162.     {# {% set districts_circle = districts_linkage_circle() %}
  163.     {% if districts_circle is not null %}
  164.         <div class="city-main-pages-linkage-circle">
  165.             <h3 class="city-main-pages-linkage-circle-title">Также интересуются:</h3>
  166.             {% if districts_circle[0] is not null %}<a href="{{ districts_circle[0].href }}" style="text-transform: capitalize;"><i class="prev"></i>{{ districts_circle[0].text }}</a>{% endif %}
  167.             <span class="sep"></span>
  168.             {% if districts_circle[1] is not null %}<a href="{{ districts_circle[1].href }}" style="text-transform: capitalize;">{{ districts_circle[1].text }}<i class="next"></i></a>{% endif %}
  169.         </div>
  170.     {% endif %}
  171.     {% set stations_circle = station_pages_linkage_circle() %}
  172.     {% if stations_circle is not null %}
  173.         <div class="city-main-pages-linkage-circle">
  174.             <h3 class="city-main-pages-linkage-circle-title">Также интересуются:</h3>
  175.             {% if stations_circle[0] is not null %}<a href="{{ stations_circle[0].href }}"><i class="prev"></i>{{ stations_circle[0].text }}</a><br/>{% endif %}
  176.             <span class="sep"></span>
  177.             {% if stations_circle[1] is not null %}<a href="{{ stations_circle[1].href }}">{{ stations_circle[1].text }}<i class="next"></i></a>{% endif %}
  178.         </div>
  179.     {% endif %} #}
  180.     {# {% set circle = inner_linkage_circle() %}
  181.     {% if circle is not null %}
  182.         <div class="city-main-pages-linkage-circle">
  183.             {% if circle[0] is not null %}<a href="{{ circle[0].href }}"><i class="prev"></i>{{ circle[0].text }}</a>{% endif %}
  184.             <span class="sep"></span>
  185.             {% if circle[1] is not null %}<a href="{{ circle[1].href }}">{{ circle[1].text }}<i class="next"></i></a>{% endif %}
  186.         </div>
  187.     {% endif %} #}
  188.     {% if profiles and profiles.currentPage >= 2 %}
  189.         {{ include('components/_profile_recommendations.html.twig', {'classname': 'recommendations-list-page'}) }}
  190.     {% endif %}
  191.     {# {% set cityBlagoveshensk = city is defined and city.uriIdentity == 'blagoveshensk' %} #}
  192.     {# {% if not cityBlagoveshensk %} #}
  193.         {# {{ include('components/big_footer.html.twig') }} #}
  194.     {# {% endif %} #}
  195.     {# {% if isFirstPage %}
  196.     {{ include('components/seo.partial.twig', {type: 'top'}) }}
  197.     {{ include('components/seo.partial.twig', {type: 'bottom'}) }}
  198.     {% endif %} #}
  199.     <div aria-hidden="true" class="no-display" style="display: none;">
  200.         <svg xmlns="http://www.w3.org/2000/svg">
  201.             <symbol id="close" viewBox="0 0 25 24">
  202.                 <path fill="#9D9D9D" d="m17.19 6-4.52 4.51L8.16 6 6.67 7.49l4.51 4.5-4.5 4.52L8.15 18l4.51-4.51L17.2 18l1.48-1.49L14.16 12l4.51-4.51L17.2 6Z"/>
  203.             </symbol>
  204.             <symbol id="expand" viewBox="0 0 20 20">
  205.                 <path fill="#9D9D9D" d="M15 8.41 13.59 7 10 10.58 6.41 7 5 8.41l5 5 5-5Z"/>
  206.             </symbol>
  207.             <symbol id="range-off" viewBox="0 0 24 24">
  208.                 {# <rect width="24" height="4" x=".34" y="10" fill="#A3A3A3" rx="2"/>
  209.                 <circle cx="4.34" cy="12" r="3" fill="#fff" stroke="#A3A3A3" stroke-width="2"/>
  210.                 <circle cx="20.34" cy="12" r="3" fill="#fff" stroke="#A3A3A3" stroke-width="2"/> #}
  211.                 <rect width="24" height="4" y="10" fill="#d3d3d3" rx="2"/>
  212.                 <circle cx="4" cy="12" r="3" fill="#f0f0f0" stroke="#9d9d9d" stroke-width="2"/>
  213.                 <circle cx="20" cy="12" r="3" fill="#f0f0f0" stroke="#9d9d9d" stroke-width="2"/>
  214.             </symbol>
  215.             <symbol id="range-on" viewBox="0 0 25 24">
  216.                 <rect width="24" height="4" x=".34" y="10" fill="#A3A3A3" rx="2"/>
  217.                 <rect width="12" height="4" x="6.34" y="10" fill="#254CB1" rx="2"/>
  218.                 <circle cx="6.34" cy="12" r="3" fill="#fff" stroke="#254CB1" stroke-width="2"/>
  219.                 <circle cx="18.34" cy="12" r="3" fill="#fff" stroke="#254CB1" stroke-width="2"/>
  220.             </symbol>
  221.             <symbol id="filter" viewBox="0 0 24 24">
  222.                 <path d="M6.96 6h10l-5 6.3-5-6.3Zm-2.75-.39L9.96 13v6a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-6l5.74-7.39A1 1 0 0 0 18.91 4H5.01a1 1 0 0 0-.8 1.61Z" />
  223.             </symbol>
  224.             <symbol id="filter-arrow" viewBox="0 0 24 24">
  225.                 <path d="M5.7924 16.6699L4 14.8999L12 6.99992L20 14.8999L18.2076 16.6699L12 10.5399L5.7924 16.6699Z" fill="#727272"/>
  226.             <symbol>
  227.         </svg>
  228.     </div>
  229. {% endblock %}
  230. {% block javascripts %}
  231.     {{ parent() }}
  232.     {{ encore_entry_script_tags('scripts/filters', null, 'basicConfig') }}
  233.     <script>
  234.         window._strl = {
  235.             stations: {
  236.                 {%- for station in stations() -%}
  237.                     "{{ station.name|trans }}": "{{ path('profile_list.list_by_station', {'city': station.city.uriIdentity, 'station': station.uriIdentity}) }}"{% if not loop.last %},{% endif %}
  238.                 {%- endfor -%}
  239.             }
  240.         };
  241.         window._lD = {
  242.             formUrl: "{{ path('profile_filters.form', {city: city.uriIdentity}) }}",
  243.             setLastViewedListing: '{{ app.request.attributes.get('_route') }}',
  244.             listingData: [
  245.                 ['listing', '{{ listing is defined ? listing : "" }}'],
  246.                 ['listingParams', '{{ listing_parameters is defined ? listing_parameters|json_encode() : "" }}'.replaceAll('&quot;', '"')],
  247.             ],
  248.             cityUrl: "{{city.uriIdentity}}",
  249.             stations: {
  250.                 {%- for station in stations() -%}
  251.                     "{{ station.name|trans }}": "{{ path('profile_list.list_by_station', {'city': station.city.uriIdentity, 'station': station.uriIdentity}) }}"{% if not loop.last %},{% endif %}
  252.                 {%- endfor -%}
  253.             }
  254.         };
  255.         document.addEventListener("DOMContentLoaded", () => {
  256.             new window._filterLoader({
  257.                 formUrl: "{{ path('profile_filters.form', {city: city.uriIdentity}) }}",
  258.                 defaultProfilesCount: "{{ profiles.totalCount }}"
  259.             });
  260.         })
  261.         {# document.addEventListener('DOMContentLoaded', function() {
  262.             {% if profiles and profiles.totalCount > 0 %}
  263.                 {%- set profilesId = profiles|map(p => p.id)|join(',') -%}
  264.                 window.increase_shows({
  265.                     profiles: [{{ profilesId }}],
  266.                     route: '{{ app.request.attributes.get('_route') }}',
  267.                 })
  268.             {% endif %}
  269.         }); #}
  270.     </script>
  271. {% endblock %}