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 ssr_recommended_profiles is defined and ssr_recommended_profiles is not empty %}
  88.         <h4>Рекомендуемые</h4>
  89.         <div class="row mb-3">
  90.             {% include 'ProfileList/list.profiles.html.twig' with {
  91.                 profiles: ssr_recommended_profiles,
  92.                 show_total_count: false
  93.             } %}
  94.         </div>
  95.     {% else %}
  96.         {% include 'Recommendations/_profile_recommendations.html.twig' %}
  97.     {% endif %}
  98.     {% set cities_circle = city_main_pages_linkage_circle() %}
  99.     {% if cities_circle is not null %}
  100.         <div class="city_main_pages_linkage_circle">
  101.             <h3>Также рекомендуем:</h3>
  102.             {% if cities_circle[0] is not null %}<a href="{{ cities_circle[0].href }}"
  103.                                                     style="text-transform: capitalize;">{{ cities_circle[0].text }}</a>
  104.                 <br/>{% endif %}
  105.             {% if cities_circle[1] is not null %}<a href="{{ cities_circle[1].href }}"
  106.                                                     style="text-transform: capitalize;">{{ cities_circle[1].text }}</a>{% endif %}
  107.         </div>
  108.     {% endif %}
  109.     {% set cities_circle = city_main_pages_linkage_by_countries_circle() %}
  110.     {% if cities_circle is not null %}
  111.         <div class="city_main_pages_linkage_circle">
  112.             <h3>Также рекомендуем:</h3>
  113.             {% if cities_circle[0] is not null %}<a href="{{ cities_circle[0].href }}"
  114.                                                     style="text-transform: capitalize;">{{ cities_circle[0].text }}</a>
  115.                 <br/>{% endif %}
  116.             {% if cities_circle[1] is not null %}<a href="{{ cities_circle[1].href }}"
  117.                                                     style="text-transform: capitalize;">{{ cities_circle[1].text }}</a>{% endif %}
  118.         </div>
  119.     {% endif %}
  120.     {#
  121.     если указать в вызове параметр kind, напр. 'myCustomKind', то из перевода будут браться соответственно
  122.     MYCUSTOMKIND_FIRST_ и MYCUSTOMKIND_SECOND_ + падеж указанный в конфиге кольцовки, напр. MYCUSTOMKIND_FIRST_NOMINATIVE
  123.     можно использовать вызов без параметра, тогда из перевода будут браться соответственно PROSTITUTES_ и INDIVIDUALS_ с соответствующими падежfvb
  124.     #}
  125.     {% set circle = inner_linkage_circle('prostitutes') %}
  126.     {% if circle is not null %}
  127.         <div class="inner_linkage_circle">
  128.             <h3>Также интересуются:</h3>
  129.             <a href="{{ circle[0].href }}">{{ circle[0].text }}</a><br/>
  130.             <a href="{{ circle[1].href }}">{{ circle[1].text }}</a>
  131.         </div>
  132.     {% endif %}
  133.     {% set districts_circle = districts_linkage_circle() %}
  134.     {% if districts_circle is not null %}
  135.         <div class="city_main_pages_linkage_circle">
  136.             <h3>Также интересуются:</h3>
  137.             {% if districts_circle[0] is not null %}<a href="{{ districts_circle[0].href }}"
  138.                                                        style="text-transform: capitalize;">{{ districts_circle[0].text }}</a>
  139.                 <br/>{% endif %}
  140.             {% if districts_circle[1] is not null %}<a href="{{ districts_circle[1].href }}"
  141.                                                        style="text-transform: capitalize;">{{ districts_circle[1].text }}</a>{% endif %}
  142.         </div>
  143.     {% endif %}
  144.     {% set stations_circle = station_pages_linkage_circle() %}
  145.     {% if stations_circle is not null %}
  146.         <div class="station_pages_linkage_circle">
  147.             <h3>Также интересуются:</h3>
  148.             {% if stations_circle[0] is not null %}<a
  149.                 href="{{ stations_circle[0].href }}">{{ stations_circle[0].text }}</a><br/>{% endif %}
  150.             {% if stations_circle[1] is not null %}<a
  151.                 href="{{ stations_circle[1].href }}">{{ stations_circle[1].text }}</a>{% endif %}
  152.         </div>
  153.     {% endif %}
  154.     {% include 'last_girl_list.html.twig' %}
  155.     {# комменты анкет для листинга станции #}
  156.     {% include 'ProfileList/station_comments.partial.html.twig' %}
  157.     {% include 'ProfileList/profile_filter.partial.html.twig' %}
  158.     <h3>Виджет Анкеты по категориям</h3>
  159.     <div id="widget_profiles_by_categories" style="display:flex;gap:10px"></div>
  160.     <script type="text/javascript">
  161.         {% set route = app.request.get('_route') %}
  162.         {% if
  163.             route == 'homepage'
  164.             or (route == 'profile_list.list_by_city' and app.request.get('city').id == default_city().id) %}
  165.         document.addEventListener('DOMContentLoaded', _ => {
  166.             fetch('{{ path('profile_widget.by_categories', {city: app.request.attributes.get('city', default_city()).uriIdentity}) }}', {
  167.                 method: 'GET',
  168.                 headers: {
  169.                     "X-Requested-With": "XMLHttpRequest"
  170.                 },
  171.             }).then(response => {
  172.                 if (response.status < 300) {
  173.                     return response.text();
  174.                 } else {
  175.                     console.warn("🤔");
  176.                     return null;
  177.                 }
  178.             }).then(response => {
  179.                 document.querySelector('#widget_profiles_by_categories').innerHTML = response;
  180.                 if (typeof filterData === 'function') {
  181.                     filterData();
  182.                 }
  183.             });
  184.         });
  185.         {% endif %}
  186.     </script>
  187.     <script type="text/javascript">
  188.         document.addEventListener('DOMContentLoaded', function () {
  189.             const profileNodes = document.querySelectorAll('[data-profile-id]');
  190.             if (!profileNodes.length) {
  191.                 return;
  192.             }
  193.             const profileIds = Array.from(profileNodes)
  194.                 .map(node => parseInt(node.dataset.profileId, 10))
  195.                 .filter(Number.isInteger);
  196.             if (!profileIds.length) {
  197.                 return;
  198.             }
  199.             fetch('{{ path('profile_ctr.increase_shows') }}', {
  200.                 method: 'POST',
  201.                 headers: {
  202.                     'Content-Type': 'application/json',
  203.                     'X-Requested-With': 'XMLHttpRequest',
  204.                 },
  205.                 body: JSON.stringify({
  206.                     profiles: profileIds,
  207.                     source: '{{ source|default('') }}',
  208.                 }),
  209.             });
  210.         });
  211.     </script>
  212. {% endblock %}