templates/front/property/single.html.twig line 1

Open in your IDE?
  1. {% extends 'base_front.html.twig' %}
  2. {% block meta %}
  3.     <title>Floor | {{ advert.info.nature }} à {{ advert.localisation.ville }}</title>
  4.     {% if advert.info.nature is defined and advert.info.surface is defined and advert.localisation.ville is defined %}
  5.         <meta name="description" content="{{ advert.info.nature }} de {{ advert.info.surface }} m² à {{ advert.localisation.ville }}">
  6.     {% endif %}
  7. {% endblock %}
  8. {% block body %}
  9.     <section class="slide-header single">
  10.         <div class="row h-100">
  11.             <div class="col-md-6 d-flex justify-content-center align-items-center">
  12.                 <div class="description-single">
  13.                     <div class="title-page bg-blue d-flex gold pl-0 pt-0 pb-5">
  14.                         <img src="{{ asset('img/icons/chevrons-right.svg') }}" alt="chevrons droite">
  15.                         <span class="ml-3">
  16.                             {{ advert.localisation.ville }} •
  17.                             {% if advert.info.disponibilite %}
  18.                                 {% if advert.info.disponibilite == 'immédiate' %}
  19.                                     Disponibilité {{ advert.info.disponibilite }}
  20.                                 {% else %}
  21.                                     Disponible à p. d. {{ advert.info.disponibilite }}
  22.                                 {% endif %}
  23.                             {% endif %}
  24.                             <br> Réf. {{ advert.info.reference }}
  25.                         </span>
  26.                     </div>
  27.                     <h1 class="mb-3">{{ advert.info.nature }}</h1>
  28.                     <div class="description pt-3 pb-3">
  29.                         {% if advert.info.surface and advert.info.surface > 0 %}
  30.                             <p>
  31.                                 <img src="{{ asset('img/icons/surface.svg') }}" class="mr-3">
  32.                                 <span class="gold">{{ advert.info.surface }} m²</span>
  33.                                 <span class="white">surface d’habitation</span>
  34.                             </p>
  35.                         {% endif %}
  36.                         {% if advert.info.nombre_chambres and advert.info.nombre_chambres > 0 %}
  37.                             <p>
  38.                                 <img src="{{ asset('img/icons/chambres.svg') }}" class="mr-3">
  39.                                 <span class="gold">{{ advert.info.nombre_chambres }}</span>
  40.                                 <span class="white">chambre{% if advert.info.nombre_chambres > 1 %}s{% endif%} à coucher</span>
  41.                             </p>
  42.                         {% endif %}
  43.                         {% if advert.pieces.salles_de_bain and advert.pieces.salles_de_bain > 0 %}
  44.                             <p>
  45.                                 <img src="{{ asset('img/icons/salles-bain.svg') }}" class="mr-3">
  46.                                 <span class="gold">{{ advert.pieces.salles_de_bain }}</span>
  47.                                 <span class="white">salle{% if advert.pieces.salles_de_bain > 1%}s{% endif%} de bain</span>
  48.                             </p>
  49.                         {% endif %}
  50.                         {% if advert.parking.garages and advert.parking.garages > 0 %}
  51.                             <p>
  52.                                 <img src="{{ asset('img/icons/garage.svg') }}" class="mr-3">
  53.                                 <span class="gold">{{ advert.parking.garages }}</span>
  54.                                 <span class="white">garage{% if advert.parking.garages > 1 %}s{% endif %}</span>
  55.                             </p>
  56.                         {% endif %}
  57.                         {% set parkingOuvert = advert.parking.parking_ouvert ?? 0 %}
  58.                         {% set parkingsouterrain = advert.parking.parking_souterrain ?? 0 %}
  59.                         {% set parkingCollectif = advert.parking.collectif ?? 0 %}
  60.                         {% set parkings = parkingOuvert + parkingsouterrain + parkingCollectif %}
  61.                         {% set parkingsExt = parkingOuvert + parkingCollectif %}
  62.                         {% if parkings > 0 %}
  63.                             <p>
  64.                                 <img src="{{ asset('img/icons/parking.svg') }}" class="mr-3">
  65.                                 {% if parkingsExt > 0 %}
  66.                                     <span class="gold">{{ parkingsExt }}</span>
  67.                                     <span class="white">parking{% if parkingsExt > 1 %}s{% endif %} extérieur{% if parkingsExt > 1 %}s{% endif %}</span>
  68.                                 {% endif %}
  69.                                 {% if parkingsouterrain > 0 %}
  70.                                     {% if parkingsExt > 0 %}
  71.                                         <span class="white">et</span>
  72.                                     {% endif %}
  73.                                     <span class="gold">{{ parkingsouterrain }}</span>
  74.                                     <span class="white">parking{% if parkingsouterrain > 1 %}s{% endif %} intérieur{% if parkingsouterrain > 1 %}s{% endif %}</span>
  75.                                 {% endif %}
  76.                             </p>
  77.                         {% endif %}
  78.                     </div>
  79.                     <div class="price white">
  80.                         {%  set price = advert.prix.budget|number_format(0, ' ', ' ') %}
  81.                         {% if advert.info.vente_location == 'location' %}
  82.                             {{ price }}€<sup>/mois</sup>
  83.                         {% else %}
  84.                             {{ price }}€
  85.                         {% endif %}
  86.                     </div>
  87.                 </div>
  88.             </div>
  89.             <div class="col-md-6 slides">
  90.                 <div class="main-slide">
  91.                     <div class="img-main-slide position-relative" id="mainImg">
  92.                         <img src="{{ asset('upload/photo/' ~ advert.photos.1.name)  }}" id="mainImg" class="position-absolute" style="height:100%;object-fit:cover;right:0;width:100%">
  93.                         <a href="{{ asset('upload/photo/' ~ advert.photos.1.name)  }}" id="photoGallery" class="position-absolute bg-red d-flex justify-content-center align-items-center">
  94.                             <img src="{{ asset('img/icons/icon-photos.svg') }}" class="img-fluid" style="width:45px;">
  95.                         </a>
  96.                     </div>
  97.                 </div>
  98.                 {#
  99.                 <div class="slides-title d-flex align-items-center justify-content-end col-md-10 p-0 float-right position-relative">
  100.                     <a href="#" class="position-absolute arrow-slide-single" id="arrowSlideMove" onclick="javascript: return false;">
  101.                         <img src="{{ asset('img/icons/arrow-right.svg') }}">
  102.                     </a>
  103.                     <div class="slide-miniatures d-flex align-self-baseline" id="containerMiniatures">
  104.                         {% for photo in advert.photos|slice(1) %}
  105.                         <div class="slide position-relative {% if loop.index >= 4 %}display-none{% endif %} float-left">
  106.                             <img src="{{ photo.url }}">
  107.                         </div>
  108.                         {% endfor %}
  109.                     </div>
  110.                 </div>
  111.                 #}
  112.             </div>
  113.         </div>
  114.         <a href="#targetSeeMore" class="btn-see-more position-absolute d-flex flex-column align-items-center gold text-center">
  115.             <img src="{{ asset('img/icons/arrow-bottom-gold.svg') }}" alt="En savoir plus" class="mb-2">
  116.             <span>En savoir plus</span>
  117.         </a>
  118.     </section>
  119.     <section class="details-single pb-5" id="targetSeeMore">
  120.         <div class="container mt-5 pt-5">
  121.             <div class="row justify-content-between align-items-start">
  122.                 <div class="col-12 col-md-5 doc position-relative">
  123.                     <img src="{{ asset('img/floor_doc.svg') }}" alt="Doc property" class="position-absolute doc-floor">
  124.                     <h6>Extérieur</h6>
  125.                     <ul class="pl-0">
  126.                         {% for key, value in advert.exterieur %}
  127.                             {% if value and value == '1' %}
  128.                                 <li>{{ key|replace({'_': ' '})|capitalize }}</li>
  129.                             {% endif %}
  130.                         {% endfor %}
  131.                     </ul>
  132.                     <h6>Intérieur</h6>
  133.                     <ul class="pl-0">
  134.                         {% for key, value in advert.interieur %}
  135.                             {% if value and value == '1' %}
  136.                                 <li>{{ key|replace({'_': ' '})|capitalize }}</li>
  137.                             {% endif %}
  138.                         {% endfor %}
  139.                         {% for key, value in advert.pieces %}
  140.                             {% if value and value == '1' %}
  141.                                 <li>{{ key|replace({'_': ' '})|capitalize }}</li>
  142.                             {% endif %}
  143.                         {% endfor %}
  144.                     </ul>
  145.                     <h6>Autres</h6>
  146.                     <ul class="pl-0">
  147.                         {% for key, value in advert.parking %}
  148.                             {% if value and value == '1' %}
  149.                                 <li>{{ key|replace({'_': ' '})|capitalize }}</li>
  150.                             {% endif %}
  151.                         {% endfor %}
  152.                         {% for key, value in advert.energie %}
  153.                             {% if value and value != '0.00' %}
  154.                                 <li>{{ key|replace({'_': ' ', 'lettre': ''})|capitalize }} <strong>{{ value|replace({'_': ' '})|capitalize }}</strong></li>
  155.                             {% endif %}
  156.                         {% endfor %}
  157.                     </ul>
  158.                     {% if advert.documents is not empty %}
  159.                         <h6>Documents</h6>
  160.                         <ul class="pl-0">
  161.                             {% for doc in advert.documents %}
  162.                                 <li><img src="{{ asset('img/icons/doc.svg') }}" class="mr-2"><a href="{{ doc.url }}" target="_blank" class="white" download>{{ doc.name_file }}</a></li>
  163.                             {% endfor %}
  164.                         </ul>
  165.                     {% endif %}
  166.                     <div class="m-auto pt-4 energy-single no-responsive">
  167.                         <h4>Performance énergétique</h4>
  168.                         {% if advert.energie.indice_energetique %}
  169.                             <div class="row col-md-8 p-0 m-0">
  170.                                 <div class="col-sm-2 col-md-2 bg-grey-light p-2 text-vertical info-indice">
  171.                                     <span class="white">Maison existante</span>
  172.                                     <span class="white">Nouvelle maison</span>
  173.                                 </div>
  174.                                 <div class="col-sm-10 col-md-10 d-flex flex-column h-100">
  175.                                     {% set arrayLetters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'] %}
  176.                                     {% set widthBar = '5' %}
  177.                                     {% for letter in arrayLetters %}
  178.                                         {% if letter == advert.energie.indice_energetique %}
  179.                                             <div class="col-sm-12 col-md-12 bar energy-a mb-2 pb-0 pt-0 pl-1 pr-1 d-flex justify-content-center align-items-center selected">
  180.                                                 <span class="col-md-{{ widthBar }} pr-0 letter-a white d-flex justify-content-center align-items-center">{{ letter }}</span>
  181.                                                 {% if letter == 'A' %}
  182.                                                     <span class="cols-m-7 col-md-7 pl-0 info-a white text-center">Haute efficacité d’énergie</span>
  183.                                                 {% endif %}
  184.                                             </div>
  185.                                         {% else %}
  186.                                             <div class="col-sm-{% if not loop.last %}{{ widthBar }}{% else%}12{% endif%} col-md-{% if not loop.last %}{{ widthBar }}{% else%}12{% endif%} bar energy-{{ letter|lower }} {% if not loop.last %}mb-2{% endif %}">{{ letter }}</div>
  187.                                         {% endif %}
  188.                                         {% set widthBar = widthBar + 1 %}
  189.                                     {% endfor %}
  190.                                 </div>
  191.                             </div>
  192.                         {% else %}
  193.                             <p>Performance énergetique non renseignée.</p>
  194.                         {% endif %}
  195.                     </div>
  196.                 </div>
  197.                 <div class="col-12 col-md-5">
  198.                     <div class="contact-single p-0 gold">
  199.                         <div class="title-page bg-blue d-flex align-items-baseline gold pl-0 pt-0 pb-5">
  200.                             <img src="{{ asset('img/icons/chevrons-right.svg') }}" alt="chevrons droite">
  201.                             <div class="pl-3">
  202.                                 <!--<div class="img-contact" style="background: url({% if advert.commerciaux.photo %}{{ advert.commerciaux.photo }}{% else %}{{ asset('img/user-default.png') }}{% endif %})no-repeat center;background-size: cover"></div>-->
  203.                                 <div class="description-contact bg-grey-very-light p-4">
  204.                                     <div class="border-title bg-grey mb-2 mt-0"></div>
  205.                                     <h3 style="font-size: 1.3em;">{{ advert.commerciaux.prenom }} {{ advert.commerciaux.nom|upper }}</h3>
  206.                                     <p class="mb-0">Contactez votre conseiller pour plus d’informations concernant
  207.                                         le bien ou pour organiser une visite</p>
  208.                                 </div>
  209.                                 <div class="col-md-11 bg-red-contact white pb-0">
  210.                                     <img src="{{ asset('img/icons/icon-mobile-white.svg') }}">
  211.                                     <span class="ml-3" style="margin: 0px 0px 0px 9px!important;">
  212.                                         <a href="tel:00352283277" class="white" style="padding: 15px 4px">+352 28 32 77</a>
  213.                                          {% if advert.commerciaux.gsm %}
  214.                                              | <a href="tel:{{ advert.commerciaux.gsm }}" class="white tel-fin" style="padding: 15px 4px">{{ advert.commerciaux.gsm }}</a>
  215.                                          {% endif %}
  216.                                     </span>
  217.                                 </div>
  218.                                 {% if advert.commerciaux.email %}
  219.                                     <div class="col-md-10 bg-brown white">
  220.                                         <img src="{{ asset('img/icons/icon-envelop-white.svg') }}">
  221.                                         <span class="ml-3"><a href="mailto:{{ advert.commerciaux.email }}" class="white">{{ advert.commerciaux.email }}</a></span>
  222.                                     </div>
  223.                                 {% endif %}
  224.                             </div>
  225.                         </div>
  226.                     </div>
  227.                     <div class="title-page bg-blue d-flex gold pl-0 pt-0 pb-5">
  228.                         <img src="{{ asset('img/icons/chevrons-right.svg') }}" alt="chevrons droite">
  229.                         <span class="ml-3">DESCRIPTION</span>
  230.                     </div>
  231.                     {#  <h1 class="mb-3">MAISON UNIFAMILIALE ISOLÉE</h1> #}
  232.                     <div class="description white">
  233.                         {{ advert.description.description_fr|raw }}
  234.                     </div>
  235.                     {#
  236.                     <div class="contact-advert gold">
  237.                         Pour plus de renseignements et informations :<br>
  238.                         M. Philippe LANDRAIN<br>
  239.                         Tél: <a href="tel:00352454848451" class="gold">00352 454848 -451</a><br>
  240.                         E-mail: <a href="mailto:philippe@stugalux.lu" class="gold">philippe@stugalux.lu</a><br>
  241.                     </div>
  242.                     #}
  243.                 </div>
  244.             </div>
  245.         </div>
  246.     </section>
  247. {% endblock %}
  248. {% block javascript %}
  249. {{ parent() }}
  250. <script nonce="{{ csp_nonce('script') }}">
  251.     document.getElementById('photoGallery').addEventListener('click', (e) => {
  252.         e.preventDefault();
  253.         SimpleLightbox.open({
  254.             items: [
  255.                 {% for photo in advert.photos %}
  256.                     "{{ asset('upload/photo/' ~ photo.name) }}",
  257.                 {% endfor %}
  258.             ]
  259.         });
  260.     })
  261. </script>
  262. {% endblock %}