templates/ProfileSearch/list.html.twig line 1

Open in your IDE?
  1. {% extends 'ProfileList/list.html.twig' %}
  2. {% block title %}{{ seo_title() }}{% endblock %}
  3. {% block metaDescription %}<meta name="description" content="{{ seo_description() }}">{% endblock %}
  4. {% block bodyClasses %}search-page{% endblock %}
  5. {% block name_page %}search{% endblock %}
  6. {% block navbar_class_search_profiles %}active{% endblock %}
  7. {% block mainContainer %}
  8.     {{ knp_menu_render('breadcrumbs', {'template': '_menu/breadcrumbs.html.twig'}) }}
  9.     <h1 role="heading" class="border-line">{{ seo_heading() ? seo_heading() : 'по параметрам' }}</h1>
  10.     {{ form_start(form, {'attr': { 'class': 'search-block'}}) }}
  11.         <div class="main-info">
  12.             <h2 class="border-line">Основная информация</h2>
  13.             <div class="info">
  14.                <div class="wrap">
  15.                    <div class="basic-parameters">
  16.                        <h3>Основные параметры</h3>
  17.                        <div class="group">
  18.                            <label>{% trans with {} from 'profile' %}Возраст{% endtrans %}:</label>
  19.                            <div class="elements">
  20.                                {{ form_widget(form.age.min, {'attr': {'size': '3', 'type': 'text'}}) }}
  21.                                <span>-</span>
  22.                                {{ form_widget(form.age.max, {'attr': {'size': '3', 'type': 'text'}}) }}
  23.                            </div>
  24.                        </div>
  25.                        <div class="group">
  26.                            <label>{% trans with {} from 'profile' %}Грудь{% endtrans %}:</label>
  27.                            <div class="elements">
  28.                                {{ form_widget(form.breast_size.min, {'attr': {'size': '3', 'type': 'text'}}) }}
  29.                                <span>-</span>
  30.                                {{ form_widget(form.breast_size.max, {'attr': {'size': '3', 'type': 'text'}}) }}
  31.                            </div>
  32.                        </div>
  33.                        <div class="group">
  34.                            <label>{% trans with {} from 'profile' %}Рост{% endtrans %}:</label>
  35.                            <div class="elements">
  36.                                {{ form_widget(form.height.min, {'attr': {'size': '3', 'type': 'text'}}) }}
  37.                                <span>-</span>
  38.                                {{ form_widget(form.height.max, {'attr': {'size': '3', 'type': 'text'}}) }}
  39.                            </div>
  40.                        </div>
  41.                        <div class="group">
  42.                            <label>{% trans with {} from 'profile' %}Вес{% endtrans %}:</label>
  43.                            <div class="elements">
  44.                                {{ form_widget(form.weight.min, {'attr': {'size': '3', 'type': 'text'}}) }}
  45.                                <span>-</span>
  46.                                {{ form_widget(form.weight.max, {'attr': {'size': '3', 'type': 'text'}}) }}
  47.                            </div>
  48.                        </div>
  49.                        <h3>Расценки</h3>
  50.                        <div class="group">
  51.                            <label>{% trans with {} from 'profile' %}1 час{% endtrans %}:</label>
  52.                            <div class="elements">
  53.                                {{ form_widget(form.one_hour_price.min, {'attr': {'size': '3', 'type': 'text'}}) }}
  54.                                <span>-</span>
  55.                                {{ form_widget(form.one_hour_price.max, {'attr': {'size': '3', 'type': 'text'}}) }}
  56.                            </div>
  57.                        </div>
  58.                        <div class="group">
  59.                            <label>{% trans with {} from 'profile' %}2 часа{% endtrans %}:</label>
  60.                            <div class="elements">
  61.                                {{ form_widget(form.two_hours_price.min, {'attr': {'size': '3', 'type': 'text'}}) }}
  62.                                <span>-</span>
  63.                                {{ form_widget(form.two_hours_price.max, {'attr': {'size': '3', 'type': 'text'}}) }}
  64.                            </div>
  65.                        </div>
  66.                        <div class="group">
  67.                            <label>{% trans with {} from 'profile' %}Ночь{% endtrans %}:</label>
  68.                            <div class="elements">
  69.                                {{ form_widget(form.night_price.min, {'attr': {'size': '3', 'type': 'text'}}) }}
  70.                                <span>-</span>
  71.                                {{ form_widget(form.night_price.max, {'attr': {'size': '3', 'type': 'text'}}) }}
  72.                            </div>
  73.                        </div>
  74.                        <div class="group">
  75.                            есть экспресс
  76.                        </div>
  77.                    </div>
  78.                    <div class="nationals">
  79.                        <h3>Национальность</h3>
  80.                        {% for child in form.nationality %}
  81.                            <div class="group">
  82.                                {{ form_widget(child) }}
  83.                                <label for="{{ child.vars.id }}">{{ child.vars.label|trans({}, 'left_menu') }}</label>
  84.                            </div>
  85.                        {% endfor %}
  86.                    </div>
  87.                </div>
  88.                 <div class="wrap">
  89.                     <div class="second-parameters">
  90.                         <h3>Цвет волос</h3>
  91.                         {% for child in form.hair_color %}
  92.                             <div class="group">
  93.                                 {{ form_widget(child) }}
  94.                                 <label for="{{ child.vars.id }}">{{ child.vars.label|trans({}, 'left_menu') }}</label>
  95.                             </div>
  96.                         {% endfor %}
  97.                         <h3>Интимная стрижка</h3>
  98.                         {% for child in form.private_haircut %}
  99.                             <div class="group">
  100.                                 {{ form_widget(child) }}
  101.                                 <label for="{{ child.vars.id }}">{{ child.vars.label|trans({}, 'left_menu') }}</label>
  102.                             </div>
  103.                         {% endfor %}
  104.                     </div>
  105.                     <div class="additional-parameters">
  106.                         <h3>Фильтры</h3>
  107.                         <div class="group">
  108.                             {{ form_widget(form.with_video) }}
  109.                             <label for="{{ form.with_video.vars.id }}">Есть видео</label>
  110.                         </div>
  111.                         <div class="group">
  112.                             {{ form_widget(form.with_selfie) }}
  113.                             <label for="{{ form.with_selfie.vars.id }}">Есть селфи</label>
  114.                         </div>
  115.                         <div class="group">
  116.                             {{ form_widget(form.with_comments) }}
  117.                             <label for="{{ form.with_comments.vars.id }}">Есть отзывы</label>
  118.                         </div>
  119.                         <div class="group">
  120.                             {{ form_widget(form.apartments) }}
  121.                             <label for="{{ form.apartments.vars.id }}">С апартаментами</label>
  122.                         </div>
  123.                         <div class="group">
  124.                             {{ form_widget(form.approved) }}
  125.                             <label for="{{ form.approved.vars.id }}">Проверенное фото</label>
  126.                         </div>
  127.                         <div class="group">
  128.                             <input type="checkbox" id="search_profile_form_with_girlfriends" name="search_profile_form[with_girlfriends][]" value="1" disabled>
  129.                             {# {{ form_widget(form.with_comments) }} #}
  130.                             <label for="search_profile_form_with_girlfriends">Есть подруга</label>
  131.                         </div>
  132.                         <div class="group">
  133.                             {{ form_widget(form.has_tattoo) }}
  134.                             <label for="{{ form.has_tattoo.vars.id }}">Есть тату</label>
  135.                         </div>
  136.                         <div class="group">
  137.                             {{ form_widget(form.has_piercing) }}
  138.                             <label for="{{ form.has_piercing.vars.id }}">Есть пирсинг</label>
  139.                         </div>
  140.                         <div class="group">
  141.                             {{ form_widget(form.has_express) }}
  142.                             <label for="{{ form.has_express.vars.id }}">Есть экспресс</label>
  143.                         </div>
  144.                         <h3>Метро</h3>
  145.                         <div class="metro">
  146.                             <div class="selector" id="selector">
  147.                                 {{ form_widget(form.station, {attr: {'class': 'selector__select visually_hidden', 'id': 'selectElement', 'tabindex': '-1', 'aria-hidden': 'true', 'data-selector-select': ''}}) }}
  148.                                 <button class="selector__button d-flex" type="button" data-selector-button>
  149.                                     <span class="selector__button_placeholder" data-selector-button-placeholder>Выбор станций</span>
  150.                                     <span class="selector__button_tags" data-selector-button-tags>Выбор станций</span>
  151.                                     <svg class="selector__button_icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14"><path d="m2 5 5 4 5-4H2Z" fill="#9E9E9E"/></svg>
  152.                                 </button>
  153.                                 <div class="selector__list_wrapper">
  154.                                     <div class="selector__list_wrapper_scroll" data-selector-list data-selector-width-data>
  155.                                         <div class="selector__list">
  156.                                             {% for station in form.station.vars.choices %}
  157.                                                 <div class="selector__list_element d-flex" data-value="{{ station.value }}">
  158.                                                     {% include 'components/metro/icon_generate.partial.twig' with {data: station.data.id|station_lines} %}
  159.                                                     {{ station.label }}
  160.                                                 </div>
  161.                                             {% endfor %}
  162.                                         </div>
  163.                                     </div>
  164.                                 </div>
  165.                             </div>
  166.                         </div>
  167.                         <h3>По обновлению</h3>
  168.                         <div class="info selector">
  169.                             <div class="selector-block">
  170.                                 <button type="button" data-toggle="selector"></button>
  171.                                 <div class="tags"></div>
  172.                             </div>
  173.                             <div class="form-data">
  174.                                 {{ form_widget(form.recency) }}
  175.                             </div>
  176.                         </div>
  177.                         <div class="group d-none">
  178.                             <h3>По месту</h3>
  179.                             {{ form_widget(form.take_out_location) }}
  180.                         </div>
  181.                     </div>
  182.                 </div>
  183.             </div>
  184.         </div>
  185.         <div class="services">
  186.             <h2 class="border-line">Интим услуги</h2>
  187.             <div class="services-list row">
  188.                 {% set current_group = 0 %}
  189.                 {% for service in form.services %}
  190.                 {% if current_group != service.vars.attr['service-group'] %}
  191.                 {% if current_group == 0 %}<div class="col">{% endif %}
  192.                 {% if current_group == 4 %}</div></div><div class="col">{% endif %}
  193.                     {% set current_group = service.vars.attr['service-group'] %}
  194.                     {% if not loop.first and current_group != 5 %}</div>{% endif %}
  195.                     <div class="section">
  196.                     <div class="title">{{ current_group|service_group|trans({}, 'service_groups') }}</div>
  197.                     {% endif %}
  198.                         <div class="group">
  199.                             {{ form_widget(service) }}
  200.                             <label for="{{ service.vars.id }}">{{ service.vars.label|trans({}, 'services') }}</label>
  201.                         </div>
  202.                         {% if loop.last %}</div>
  203.                         {% if current_group == 0 %}</div>{% endif %}
  204.                         {% if current_group == 4 %}</div>{% endif %}
  205.                     {% endif %}
  206.                 {% endfor %}
  207.             </div>
  208.         </div>
  209.     </div>
  210.         <div class="buttons">
  211.             <button type="reset" class="reset btn d-flex-inline align-items-center" id="reset-form">
  212.                 Сброс
  213.             </button>
  214.             {{ form_widget(form.search, {'label': 'Подобрать', 'attr': {
  215.                 'class': 'btn btn-danger search'
  216.             }}) }}
  217.         </div>
  218.     {{ form_end(form) }}
  219.     {% if profiles is not null %}
  220.         {% block mainList %}
  221.             {{ parent() }}
  222.         {% endblock %}
  223.         {% block showMore %}
  224.             {% include 'ProfileSearch/_show_more.search.html.twig' %}
  225.         {% endblock showMore %}
  226.         <div id="pages2">{{ porpaginas_render(profiles) }}</div>
  227.         <script type="text/javascript" src="{{ asset('form-paginator-fix.js', 'js_script') }}"></script>
  228.         <script>
  229.             window._lD = {
  230.                 setLastViewedListing: '{{ app.request.attributes.get('_route') }}',
  231.                 cityUrl: "{{city.uriIdentity}}",
  232.             };
  233.             ;(function () {
  234.                 document.addEventListener('DOMContentLoaded', function(){
  235.                     var paginationContainers = ['#pages2'];
  236.                     paginationContainers.forEach(function(selector) {
  237.                         new FormPaginatorFix({
  238.                             pageParameterName: 'page',
  239.                             formName: 'search_profile_form',
  240.                             pageLinkClass: 'pagination__link',
  241.                             pageLinkInactiveElement: 'span',
  242.                             pageLinkActiveElement: 'a',
  243.                             paginationContainerSelector: selector
  244.                         }).fixFirstPageLink().listen();
  245.                     });
  246.                     document.querySelector('form[name=search_profile_form]').style.display = 'none';
  247.                 });
  248.             })();
  249.         </script>
  250.     {% else %}
  251.     <script>
  252.         (function() {
  253.             var resetBtn = document.getElementById('reset-form');
  254.             resetBtn.addEventListener('click', () => {
  255.                 const tags = document.querySelector('.selector__button_tags');
  256.                 tags.innerHTML = '';
  257.                 const r = document.querySelector('.selector__button--tags');
  258.                 r.classList.remove('selector__button--tags');
  259.                 r.classList.remove('open');
  260.                 const el = document.querySelectorAll('.selector__list_element.selected');
  261.                 [...el].forEach(el => {
  262.                     el.classList.remove('selected');
  263.                 });
  264.             })
  265.         })()
  266.     </script>
  267.     {% endif %}
  268. {% endblock %}
  269. {% block javascripts %}
  270.     {{ parent() }}
  271. {% endblock %}