templates/ProfileList/list.html.twig line 1

Open in your IDE?
  1. {% extends 'grid.html.twig' %}
  2. {% set city = app.request.get('city', default_city()) %}
  3. {% block title %}
  4.     {{ seo_title() }}
  5. {% endblock %}
  6. {% block metaDescription %}
  7.     <meta name="description" content="{{ seo_description() }}">
  8. {% endblock %}
  9. {% block navbar %}
  10.     {{ parent() }}
  11. {% endblock %}
  12. {% block mainContainer %}
  13.     {{ seo_top() }}
  14.     <h1>{{ seo_heading() }}</h1>
  15.     {% include 'ProfileList/geo_category_linkage.partial.html.twig' %}
  16.     {% if homepage_city_listings_block is defined and homepage_city_listings_block %}
  17.         {% if homepage_city_listings_block.hasSaloons %}
  18.             <h3><a href="{{ path('saloon_list.list_by_city', {city: city.uriIdentity}) }}">Интим-салоны {{ city.name|trans }}</a></h3>
  19.             <div class="row mb-3">
  20.                 {% include 'SaloonList/list.saloons.html.twig' with { 'saloons': homepage_city_listings_block.saloons } %}
  21.             </div>
  22.         {% endif %}
  23.         {% if homepage_city_listings_block.hasMasseurs %}
  24.             <h3><a href="{{ path('masseur_list.page', {city: city.uriIdentity}) }}">Массажистки {{ city.name|trans }}</a></h3>
  25.             <div class="row mb-3">
  26.                 {% include 'ProfileList/list.profiles.html.twig' with {
  27.                     'profiles': homepage_city_listings_block.masseurs,
  28.                     'show_total_count': false
  29.                 } %}
  30.             </div>
  31.         {% endif %}
  32.     {% endif %}
  33.     {#
  34.     {% if source is defined and source %}
  35.     <h6 style="background-color: #ee4056;height: 20px;">
  36.         {% if source == 'county' %}К сожалению, все девушки из округа <a href="{{ category_url }}">{{ county.name }}</a> сейчас отдыхают, посмотрите проституток из других округов города {{ city.name|trans }}.{% endif %}
  37.         {% if source == 'district' %}К сожалению, все девушки из района <a href="{{ category_url }}">{{ district.name }}</a> сейчас отдыхают, посмотрите проституток из других районов города {{ city.name|trans }}.{% endif %}
  38.         {% if source == 'station' %}К сожалению, все девушки работающие вблизи метро <a href="{{ category_url }}">{{ station.name }}</a> сейчас отдыхают, посмотрите проституток у других станций метро в этом районе города {{ city.name|trans }}.{% endif %}
  39.         {% if source == 'approved' or source == 'with_comments' or  source == 'with_video' or source == 'elite' or source == 'with_selfie' %}
  40.             {% if source == 'approved' %}
  41.                 {% set source_name = '<a href="' ~ path('profile_list.list_approved', {city:city.uriIdentity}) ~ '">Проверенные анкеты</a>' %}
  42.             {% elseif source == 'with_comments' %}
  43.                 {% set source_name = '<a href="' ~ path('profile_list.list_with_comments', {city:city.uriIdentity}) ~ '">Анкеты с отзывами</a>' %}
  44.             {% elseif source == 'with_video' %}
  45.                 {% set source_name = '<a href="' ~ path('profile_list.list_with_video', {city:city.uriIdentity}) ~ '">Анкеты с видео</a>' %}
  46.             {% elseif source == 'with_selfie' %}
  47.                 {% set source_name = '<a href="' ~ path('profile_list.list_with_selfie', {city:city.uriIdentity}) ~ '">Анкеты с селфи</a>' %}
  48.             {% elseif source == 'with_whatsapp' %}
  49.                 {% set source_name = '<a href="' ~ path('profile_list.list_with_whatsapp', {city:city.uriIdentity}) ~ '">Анкеты с WhatsApp</a>' %}
  50.             {% elseif source == 'with_telegram' %}
  51.                 {% set source_name = '<a href="' ~ path('profile_list.list_with_telegram', {city:city.uriIdentity}) ~ '">Анкеты с Telegram</a>' %}
  52.             {% elseif source == 'elite' %}
  53.                 {% set source_name = '<a href="' ~ path('profile_list.list_for_elite_girls', {city:city.uriIdentity}) ~ '">Элитные проститутки</a>' %}
  54.             {% else %}
  55.                 {% set source_name = '' %}
  56.             {% endif %}
  57.             {% if source_default == 'approved' %}К сожалению, все <a href="{{ category_url }}">проверенные девушки</a> сейчас отдыхают, посмотрите раздел {{ source_name|raw }}{% endif %}
  58.             {% if source_default == 'with_comments' %}К сожалению, все <a href="{{ category_url }}">девушки, у которых есть отзывы</a> сейчас отдыхают, посмотрите раздел {{ source_name|raw }}{% endif %}
  59.             {% if source_default == 'with_video' %}К сожалению, все <a href="{{ category_url }}">девушки, у которых есть видео</a> сейчас отдыхают, посмотрите раздел {{ source_name|raw }}{% endif %}
  60.             {% if source_default == 'with_selfie' %}К сожалению, все <a href="{{ category_url }}">девушки, у которых есть селфи</a> сейчас отдыхают, посмотрите раздел {{ source_name|raw }}{% endif %}
  61.             {% if source_default == 'with_whatsapp' %}К сожалению, все <a href="{{ category_url }}">девушки с WhatsApp</a> сейчас отдыхают, посмотрите раздел {{ source_name|raw }}{% endif %}
  62.             {% if source_default == 'with_telegram' %}К сожалению, все <a href="{{ category_url }}">девушки с Telegram</a> сейчас отдыхают, посмотрите раздел {{ source_name|raw }}{% endif %}
  63.         {% endif %}
  64.         {% if source == 'by_params' %}К сожалению, раздел пуст. Посмотрите другие анкеты, которые мы подобрали для Вас.{% endif %}
  65.         {% if source == 'service' %}К сожалению, все девушки, которые практикуют услугу <a href="{{ category_url }}">{{ service.name }}</a> сейчас отдыхают. Но мы подобрали для Вас девушек которые не против оказать Вам похожие услуги, взгляните!{% endif %}
  66.         {% if source == 'city' %}К сожалению, данный раздел пуст. Взгляните на другие анкеты, которые мы нашли для Вас в городе {{ city.name|trans }}.{% endif %}
  67.         {% if source == 'country' %}К сожалению, данный раздел пуст. Взгляните на анкеты которые мы подобрали для Вас.{% endif %}
  68.         {% if source == 'massage_service' %}К сожалению, все девушки для которых массаж — это призвание сейчас отдыхают. Посмотрите проституток, которые также готовы сделать Вам массаж.{% endif %}
  69.     </h6>
  70.     {% endif %}
  71.     #}
  72.     {{ porpaginas_render(profiles) }}
  73.     {% block mainList %}
  74.         <div
  75.             id="profile-list"
  76.             class="row mb-3"
  77.             data-recommendations-fill-applied="{{ recommendations_fill_applied|default(false) ? 1 : 0 }}"
  78.             data-recommendations-fill-original-count="{{ recommendations_fill_original_count|default(profiles.totalCount|default(0)) }}"
  79.         >
  80.             {% include 'ProfileList/list.profiles.html.twig' %}
  81.         </div>
  82.     {% endblock %}
  83.     {% block showMore %}
  84.         {% include 'ProfileList/_show_more.profiles.html.twig' %}
  85.     {% endblock showMore %}
  86.     {{ porpaginas_render(profiles) }}
  87.     {% if not skip_listing_recommendations|default(false) %}
  88.         {% if ssr_recommended_profiles is defined and ssr_recommended_profiles is not empty %}
  89.             <h4>Рекомендуемые</h4>
  90.             <div class="row mb-3">
  91.                 {% include 'ProfileList/list.profiles.html.twig' with {
  92.                     profiles: ssr_recommended_profiles,
  93.                     show_total_count: false
  94.                 } %}
  95.             </div>
  96.         {% else %}
  97.             {% include 'Recommendations/_profile_recommendations.html.twig' %}
  98.         {% endif %}
  99.     {% endif %}
  100.     {% set cities_circle = city_main_pages_linkage_circle() %}
  101.     {% if cities_circle is not null %}
  102.         <div class="city_main_pages_linkage_circle">
  103.             <h3>Также рекомендуем:</h3>
  104.             {% if cities_circle[0] is not null %}<a href="{{ cities_circle[0].href }}"
  105.                                                     style="text-transform: capitalize;">{{ cities_circle[0].text }}</a>
  106.                 <br/>{% endif %}
  107.             {% if cities_circle[1] is not null %}<a href="{{ cities_circle[1].href }}"
  108.                                                     style="text-transform: capitalize;">{{ cities_circle[1].text }}</a>{% endif %}
  109.         </div>
  110.     {% endif %}
  111.     {% set cities_circle = city_main_pages_linkage_by_countries_circle() %}
  112.     {% if cities_circle is not null %}
  113.         <div class="city_main_pages_linkage_circle">
  114.             <h3>Также рекомендуем:</h3>
  115.             {% if cities_circle[0] is not null %}<a href="{{ cities_circle[0].href }}"
  116.                                                     style="text-transform: capitalize;">{{ cities_circle[0].text }}</a>
  117.                 <br/>{% endif %}
  118.             {% if cities_circle[1] is not null %}<a href="{{ cities_circle[1].href }}"
  119.                                                     style="text-transform: capitalize;">{{ cities_circle[1].text }}</a>{% endif %}
  120.         </div>
  121.     {% endif %}
  122.     {#
  123.     если указать в вызове параметр kind, напр. 'myCustomKind', то из перевода будут браться соответственно
  124.     MYCUSTOMKIND_FIRST_ и MYCUSTOMKIND_SECOND_ + падеж указанный в конфиге кольцовки, напр. MYCUSTOMKIND_FIRST_NOMINATIVE
  125.     можно использовать вызов без параметра, тогда из перевода будут браться соответственно PROSTITUTES_ и INDIVIDUALS_ с соответствующими падежfvb
  126.     #}
  127.     {% set circle = inner_linkage_circle('prostitutes') %}
  128.     {% if circle is not null %}
  129.         <div class="inner_linkage_circle">
  130.             <h3>Также интересуются:</h3>
  131.             <a href="{{ circle[0].href }}">{{ circle[0].text }}</a><br/>
  132.             <a href="{{ circle[1].href }}">{{ circle[1].text }}</a>
  133.         </div>
  134.     {% endif %}
  135.     {% set districts_circle = districts_linkage_circle() %}
  136.     {% if districts_circle is not null %}
  137.         <div class="city_main_pages_linkage_circle">
  138.             <h3>Также интересуются:</h3>
  139.             {% if districts_circle[0] is not null %}<a href="{{ districts_circle[0].href }}"
  140.                                                        style="text-transform: capitalize;">{{ districts_circle[0].text }}</a>
  141.                 <br/>{% endif %}
  142.             {% if districts_circle[1] is not null %}<a href="{{ districts_circle[1].href }}"
  143.                                                        style="text-transform: capitalize;">{{ districts_circle[1].text }}</a>{% endif %}
  144.         </div>
  145.     {% endif %}
  146.     {% set stations_circle = station_pages_linkage_circle() %}
  147.     {% if stations_circle is not null %}
  148.         <div class="station_pages_linkage_circle">
  149.             <h3>Также интересуются:</h3>
  150.             {% if stations_circle[0] is not null %}<a
  151.                 href="{{ stations_circle[0].href }}">{{ stations_circle[0].text }}</a><br/>{% endif %}
  152.             {% if stations_circle[1] is not null %}<a
  153.                 href="{{ stations_circle[1].href }}">{{ stations_circle[1].text }}</a>{% endif %}
  154.         </div>
  155.     {% endif %}
  156.     {% include 'last_girl_list.html.twig' %}
  157.     {# комменты анкет для листинга станции #}
  158.     {% include 'ProfileList/station_comments.partial.html.twig' %}
  159.     {% include 'ProfileList/profile_filter.partial.html.twig' %}
  160.     <h3>Виджет Анкеты по категориям</h3>
  161.     <div id="widget_profiles_by_categories" style="display:flex;gap:10px"></div>
  162.     <script type="text/javascript">
  163.         {% set route = app.request.get('_route') %}
  164.         {% if
  165.             route == 'homepage'
  166.             or (route == 'profile_list.list_by_city' and app.request.get('city').id == default_city().id) %}
  167.         document.addEventListener('DOMContentLoaded', _ => {
  168.             fetch('{{ path('profile_widget.by_categories', {city: app.request.attributes.get('city', default_city()).uriIdentity}) }}', {
  169.                 method: 'GET',
  170.                 headers: {
  171.                     "X-Requested-With": "XMLHttpRequest"
  172.                 },
  173.             }).then(response => {
  174.                 if (response.status < 300) {
  175.                     return response.text();
  176.                 } else {
  177.                     console.warn("🤔");
  178.                     return null;
  179.                 }
  180.             }).then(response => {
  181.                 document.querySelector('#widget_profiles_by_categories').innerHTML = response;
  182.                 if (typeof filterData === 'function') {
  183.                     filterData();
  184.                 }
  185.             });
  186.         });
  187.         {% endif %}
  188.     </script>
  189.     <script type="text/javascript">
  190.         document.addEventListener('DOMContentLoaded', function () {
  191.             const profileNodes = document.querySelectorAll('[data-profile-id]');
  192.             if (!profileNodes.length) {
  193.                 return;
  194.             }
  195.             const profileIds = Array.from(profileNodes)
  196.                 .map(node => parseInt(node.dataset.profileId, 10))
  197.                 .filter(Number.isInteger);
  198.             if (!profileIds.length) {
  199.                 return;
  200.             }
  201.             fetch('{{ path('profile_ctr.increase_shows') }}', {
  202.                 method: 'POST',
  203.                 headers: {
  204.                     'Content-Type': 'application/json',
  205.                     'X-Requested-With': 'XMLHttpRequest',
  206.                 },
  207.                 body: JSON.stringify({
  208.                     profiles: profileIds,
  209.                     source: '{{ source|default('') }}',
  210.                 }),
  211.             });
  212.         });
  213.     </script>
  214. {% endblock %}