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