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