{% extends 'grid.html.twig' %}
{%- block title -%}
{{- seo_title() -}}
{%- endblock -%}
{%- block metaDescription -%}
<meta name="description" content="{{- seo_description() -}}">
{%- endblock -%}
{%- block metaRobots -%}{%- if app.request.attributes.get('page') > 1 -%}<meta name="robots" content="noindex, follow" />{%- endif -%}{%- endblock -%}
{%- block name_page -%}girls-list{%- endblock -%}
{%- block current_menu_map -%} current{%- endblock -%}
{%- block mainContainer -%}
{%- set excludeRecommendationProfileIds = [] -%}
{%- set conditionList = [
'/otzyvy/',
'/video/',
'/selfie/',
'/price/dorogie/',
'/price/deshevye/',
'/stancii/',
'/raiony/',
'/novye/',
'/massajistki/',
'/bdsm/',
'/intim-karta/',
'/proverennye/',
'/hudye/',
'/stroinye/',
'/sportivnye/',
'/plotnye/',
'/tolstye/',
'/russkie/',
'/ukrainki/',
'/kazashki/',
'/negrityanki/',
'/tatarki/',
'/aziatki/',
'/kirgizki/',
'/yaponki/',
'/kitayanki/',
'/taiki/',
'/armyanki/',
'/mulatki/',
'/tadzhichki/',
'/uzbechki/',
'/brunetki/',
'/shatenki/',
'/ryzhie/',
'/rusye/',
'/blondinki/',
'/nizkie/',
'/vysokie/',
'/molodye/',
'/zrelye/'
]
%}
{%- set onlyThisPageSeoShow = false -%}
{%- for str in conditionList -%}
{%- if str in app.request.pathInfo -%}
{%- set onlyThisPageSeoShow = true -%}
{%- endif -%}
{%- endfor -%}
{%- set isMainCity = city.uriIdentity == default_city().uriIdentity -%}
{%- set isIndexPage = app.request.pathInfo == '/' -%}
{%- set isFirstPage = profiles.currentPage == 1 -%}
{%- set isStationPage = app.request.attributes.get('_route') == "profile_list.list_by_station" -%}
{# {%- set isShowTopSeo = (isFirstPage and onlyThisPageSeoShow) or isIndexPage -%}
{%- set isShowBottomSeo = (isFirstPage and onlyThisPageSeoShow) or isIndexPage -%} #}
{%- set isShowTopSeo = false -%}
{%- set isShowTopOnBottomSeo = true -%}
{%- set isShowBottomSeo = true -%}
{{- knp_menu_render('breadcrumbs', {'template': '_menu/breadcrumbs.html.twig'}) -}}
<header class="list_heading">
<h1 class="border-line list_heading__title">{{ seo_heading() ? seo_heading() : 'Проститутки города Москва' }}</h1>
<span class="list_heading__count">{% trans with {'count': profiles.totalCount} from 'profile_list' %}profile_count{% endtrans %}</span>
</header>
{# <div class="visually_hidden">
<svg class="profile_filter__item__button__icon" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 24">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.46 6.7a1 1 0 0 0-1.42-1.4l-5.29 5.29-5.3-5.3a1 1 0 0 0-1.4 1.42L11.33 12l-5.3 5.3a1 1 0 1 0 1.42 1.4l5.29-5.29 5.3 5.3a1 1 0 0 0 1.4-1.42L14.17 12l5.3-5.3Z" fill="#fff"/>
</svg>
</div> #}
<div aria-hidden="true" class="no-display" style="display: none;">
<svg xmlns="http://www.w3.org/2000/svg">
<symbol id="close" viewBox="0 0 25 24">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.46 6.7a1 1 0 0 0-1.42-1.4l-5.29 5.29-5.3-5.3a1 1 0 0 0-1.4 1.42L11.33 12l-5.3 5.3a1 1 0 1 0 1.42 1.4l5.29-5.29 5.3 5.3a1 1 0 0 0 1.4-1.42L14.17 12l5.3-5.3Z" fill="#fff"/>
</symbol>
<symbol id="expand" viewBox="0 0 25 24">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.54 8.3a1 1 0 0 1 1.42 0l5.29 5.29 5.3-5.3a1 1 0 1 1 1.4 1.42l-6 6a1 1 0 0 1-1.4 0l-6-6a1 1 0 0 1 0-1.42Z" fill="#fff"/>
</symbol>
<symbol id="range" viewBox="0 0 25 24">
<path d="M21.5 11h-1.18a2.98 2.98 0 0 0-5.64 0h-4.36a2.98 2.98 0 0 0-5.64 0H3.5a1 1 0 1 0 0 2h1.18a2.98 2.98 0 0 0 5.64 0h4.36a2.98 2.98 0 0 0 5.64 0h1.18a1 1 0 0 0 0-2Zm-14 2a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm10 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"/>
</symbol>
</svg>
</div>
{%- if isShowTopSeo -%}
{{- include('components/seo_text.html.twig', { "type": 'top', "noindex": true }) -}}
{%- endif -%}
{%- set isArchivePage = 'profile_list.list_archived' in app.request.attributes.get('_route') -%}
{# {% set isFormExist = profile_filter_form is defined and not isArchivePage %}
{% if isFormExist %}
<noindex>
<button class="filter_hide_button rounding" type="button" id="filter_hide_button">
<svg class="filter_hide_button__icon" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><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" /></svg>
<span class="filter_hide_button__text" data-filter-hide-text-show>Показать фильтры</span>
<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>
</button>
<div class="filter_hide_block" id="filter_hide_block">
{# Форма полей фильтрации #!}
{{ form_start(profile_filter_form, {
'attr': {
'id': 'filter-form',
'class': 'filter_form',
'data-process-url': path('profile_ctr.increase_shows'),
'data-main-class': 'profile_filter'
}
}) }}
{{ include('ProfileList/filter/form.partial.twig', {filterData: profile_filter_form.vars.value}) }}
{{ form_end(profile_filter_form) }}
</div>
<div class="profile_filter__tags__container fade_slider__container">
<div class="profile_filter__tags d-none fade_slider" id="filter_tags"></div>
</div>
<div class="profile_filter__line" id="filter_line">
<div class="profile_filter__line__title">Найдено <span class="profile_filter__line__title__count">{{ profiles.totalCount }} {{ profiles.totalCount|incline_numeral(['анкета', 'анкеты', 'анкет']) }}</span></div>
<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="#ED0C34"/></svg>
</button>
</div>
</noindex>
{% endif %} #}
{# {% if source is defined and source and source_default != 'station' %}
<div class="empty-category level d-flex overflow-hidden mb-4 rounding">
<div class="empty-category__icon d-flex align-items-center justify-content-center">
<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>
</div>
<div class="flex-fill px-3 px-sm-4 py-3 d-flex align-items-center">
<p class="m-0">
{% if source == 'county' %}К сожалению, все девушки из округа
<a href="{{ category_url }}">{{ county.name }}</a>
сейчас отдыхают, посмотрите проституток из других округов города
{{ city.name|trans }}.
{% endif %}
{% if source == 'district' %}К сожалению, все девушки из района
<a href="{{ category_url }}">{{ district.name }}</a>
сейчас отдыхают, посмотрите проституток из других районов города
{{ city.name|trans }}.
{% endif %}
{% if source == 'station' %}К сожалению, все девушки работающие вблизи метро
<a href="{{ category_url }}">{{ station.name }}</a>
сейчас отдыхают, посмотрите проституток у других станций метро в этом районе города
{{ city.name|trans }}.
{% endif %}
{% if source == 'approved' or source == 'with_comments' or source == 'with_video' or source == 'elite' or source == 'with_selfie' %}
{% if source == 'approved' %}
{% set source_name = '<a href="' ~ path('profile_list.list_approved', {city:city.uriIdentity}) ~ '">Проверенные анкеты</a>' %}
{% elseif source == 'with_comments' %}
{% set source_name = '<a href="' ~ path('profile_list.list_with_comments', {city:city.uriIdentity}) ~ '">Анкеты с отзывами</a>' %}
{% elseif source == 'with_video' %}
{% set source_name = '<a href="' ~ path('profile_list.list_with_video', {city:city.uriIdentity}) ~ '">Анкеты с видео</a>' %}
{% elseif source == 'with_selfie' %}
{% set source_name = '<a href="' ~ path('profile_list.list_with_selfie', {city:city.uriIdentity}) ~ '">Анкеты с селфи</a>' %}
{% elseif source == 'elite' %}
{% set source_name = '<a href="' ~ path('profile_list.list_for_elite_girls', {city:city.uriIdentity}) ~ '">Элитные проститутки</a>' %}
{% else %}
{% set source_name = '' %}
{% endif %}
{% if source_default == 'approved' %}К сожалению, все
<a href="{{ category_url }}">проверенные девушки</a>
сейчас отдыхают, посмотрите раздел
{{ source_name|raw }}
{% endif %}
{% if source_default == 'with_comments' %}К сожалению, все
<a href="{{ category_url }}">девушки, у которых есть отзывы</a>
сейчас отдыхают, посмотрите раздел
{{ source_name|raw }}
{% endif %}
{% if source_default == 'with_video' %}К сожалению, все
<a href="{{ category_url }}">девушки, у которых есть видео</a>
сейчас отдыхают, посмотрите раздел
{{ source_name|raw }}
{% endif %}
{% if source_default == 'with_selfie' %}
К сожалению, все <a href="{{ category_url }}">девушки, у которых есть селфи</a> сейчас отдыхают, посмотрите раздел {{ source_name|raw }}
{% endif %}
{% endif %}
{% if source == 'by_params' %}К сожалению, раздел пуст. Посмотрите другие анкеты, которые мы подобрали для Вас.
{% endif %}
{% if source == 'service' %}К сожалению, все девушки, которые практикуют услугу
<a href="{{ category_url }}">{{ service.name }}</a>
сейчас отдыхают. Но мы подобрали для Вас девушек которые не против оказать Вам похожие услуги, взгляните!
{% endif %}
{% if source == 'city' %}К сожалению, данный раздел пуст. Взгляните на другие анкеты, которые мы нашли для Вас в городе
{{ city.name|trans }}.
{% endif %}
{% if source == 'country' %}К сожалению, данный раздел пуст. Взгляните на анкеты которые мы подобрали для Вас.
{% endif %}
{% if source == 'massage_service' %}К сожалению, все девушки для которых массаж — это призвание сейчас отдыхают. Посмотрите проституток, которые также готовы сделать Вам массаж.
{% endif %}
</p>
</div>
</div>
{% endif %} #}
{# {{ dump({source: source, source_default: source_default})}} #}
<div id="filter-form-root">
<button class="filter_hide_button rounding" type="button" id="filter_hide_button">
<svg class="filter_hide_button__icon" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><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" /></svg>
<span class="filter_hide_button__text" data-filter-hide-text-show>Показать фильтры</span>
<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>
</button>
<div class="filter_hide_block" id="filter_hide_block">
{# Форма полей фильтрации #}
<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">
<div class="profile_filter">
<button class="profile_filter__mobile_button" type="button"><span class="profile_filter__mobile_button__text">Показать фильтры</span> <svg class="profile_filter__mobile_button__icon" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><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" fill="#fff"></path></svg></button>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
<div class="profile_filter__item rounding profile_filter__item--loading"></div>
</div>
</form>
</div>
<div class="profile_filter__tags__container fade_slider__container">
<div class="profile_filter__tags d-none fade_slider" id="filter_tags"></div>
</div>
<div class="profile_filter__line" id="filter_line">
<div class="profile_filter__line__title">Найдено <span class="profile_filter__line__title__count">{{ profiles.totalCount }} {{ profiles.totalCount|incline_numeral(['анкета', 'анкеты', 'анкет']) }}</span></div>
<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="#ED0C34"/></svg>
</button>
</div>
</div>
{%- set fakeStationList = source_default is defined and source is defined and source_default == 'station' and source_default != source -%}
<div class="models-items-row flex-wrap" id="profile-list" data-show-more-append>
{%- block profileList -%}
{%- include 'ProfileList/list.profiles.html.twig' with {fakeStationList: fakeStationList|default(false)} -%}
{%- endblock -%}
</div>
{%- if profiles and profiles.totalCount > profiles.currentPage * profiles.currentLimit -%}
{%- block showMore -%}
{%- include 'ProfileList/_show_more.profiles.html.twig' -%}
{%- endblock showMore -%}
{%- endif -%}
{{- porpaginas_render(profiles) -}}
{# {% if profiles and profiles.currentPage >= 2 %}
{{ include('components/_profile_recommendations.html.twig') }}
{% endif %} #}
{# Реки #}
{# {%- if profiles and profiles.currentPage >= 2 -%} #}
<div id="recommendations">
{%- set excludeRecommendationProfileIds = profiles|map(p => p.id)|join(', ') -%}
{%- include 'recommendations/_profile_recommendations.html.twig' with {'hidden': not (profiles and profiles.currentPage >= 2)} -%}
</div>
{# {%- endif -%} #}
{# {% set stations_circle = station_pages_linkage_circle() %}
{% if stations_circle is not null %}
<div class="station-pages-linkage-circle">
{% if stations_circle[0] is defined and stations_circle[0] is not null %}<a href="{{ stations_circle[0].href }}"><i class="prev"></i>{{ stations_circle[0].text }}</a>{% endif %}
{% if stations_circle[0] is defined and stations_circle[0] is not null
and stations_circle[1] is defined and stations_circle[1] is not null %}<i class="sep"></i>{% endif %}
{% if stations_circle[1] is defined and stations_circle[1] is not null %}<a href="{{ stations_circle[1].href }}">{{ stations_circle[1].text }}<i class="next"></i></a>{% endif %}
</div>
{% endif %} #}
{%- if isShowTopOnBottomSeo -%}
{{- include('components/seo_text.html.twig', { "type": 'top', "noindex": true }) -}}
{%- endif -%}
{%- if isShowBottomSeo -%}
{{- include('components/seo_text.html.twig', { "type": 'bottom', "noindex": true }) -}}
{%- endif -%}
{# {% if profiles.currentPage == 1 and app.request.get('_route') == 'profile_list.list_by_station' %}
<div class="location_counters" id="location_counters">
{{ knp_menu_render('locations_counters', {'template': '_menu/locations_counters_block.html.twig'}) }}
</div>
{% endif %} #}
{%- endblock -%}
{%- block javascripts -%}
<script>
window._lD = {
setLastViewedListing: '{{ app.request.attributes.get('_route') }}',
cityUrl: "{{city.uriIdentity}}",
};
</script>
{{- parent() -}}
{%- set route = app.request.get('_route') -%}
{%- if 'profile_search.page' not in route and not (app.request.method == 'GET' and app.request.isXmlHttpRequest()) -%}
<script>
window._mp = {
formUrl: "{{ path('profile_filters.form', {city: city.uriIdentity}) }}",
setLastViewedListing: '{{ app.request.attributes.get('_route') }}',
listingData: [
['listing', '{{ listing }}'],
['listingParams', '{{ listing_parameters|json_encode() }}'.replaceAll('"', '"')],
],
stations: {
{%- for station in stations() -%}
"{{ station.name|trans }}": "{{ path('profile_list.list_by_station', {'city': station.city.uriIdentity, 'station': station.uriIdentity}) }}"{% if not loop.last %},{% endif %}
{%- endfor -%}
}
}
document.addEventListener("DOMContentLoaded", () => {
new window._filterLoader({
formUrl: "{{ path('profile_filters.form', {city: city.uriIdentity}) }}",
defaultProfilesCount: "{{ profiles.totalCount }}"
});
{# {% if profiles and profiles.totalCount > 0 %}
{%- set profilesId = profiles|map(p => p.id)|join(',') -%}
window.increase_shows({
profiles: [{{ profilesId }}],
route: '{{ app.request.attributes.get('_route') }}',
})
{% endif %} #}
})
</script>
{# {% endif %} #}
{%- endif -%}
{%- endblock -%}