templates/home/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}{{ settings[0].siteName }} : bienvenue !{% endblock %}
  3. {% block stylesheets %}
  4. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.4/tiny-slider.css">
  5. <!--[if (lt IE 9)]><script src="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.4/min/tiny-slider.helper.ie8.js"></script><![endif]-->
  6. {{ parent() }}
  7. {% endblock %}
  8. {% block body %}
  9.     {% for home in homepages %}
  10.         {# Hero + recherche #}
  11.         <div class="container-fluid" style="background-image: url('{{ asset("assets/img/home/" ~ home.heroImage ) }}'); height: 100vh; background-position: center; background-repeat: no-repeat; background-size: cover; position: relative; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);">
  12.             <div class="container">
  13.                 <div class="row d-flex justify-content-center">
  14.                     <div class="col-lg-10 col-sm-12 text-center py-5">
  15.                         <h5 class="text-uppercase text-white capitalisfont mt-4">{{ home.title }}</h5>
  16.                         <div class="row bg-white mt-4">
  17.                             {{ form_start(form) }}
  18.                             <div class="row">
  19.                                 <div class="col-lg-2 col-sm-12 small text-muted pt-2">
  20.                                     {{ form_row(form.bienType) }}
  21.                                 </div>
  22.                                 <div class="col-lg-3 col-sm-12 small text-muted pt-2">
  23.                                     {{ form_row(form.ville) }}
  24.                                 </div>
  25.                                 <div class="col-lg-2 col-sm-12 small text-muted pt-2">
  26.                                     {{ form_row(form.maxPrice) }}
  27.                                 </div>
  28.                                 <div class="col-lg-2 col-sm-12 small text-muted pt-2">
  29.                                     {{ form_row(form.minSurface) }}
  30.                                 </div>
  31.                                 <div class="col-lg-2 col-sm-12 small text-muted pt-2">
  32.                                     {{ form_row(form.nbPieces) }}
  33.                                 </div>
  34.                                 <div class="col-lg-1 col-sm-12 color-bg d-flex align-items-center justify-content-center">
  35.                                     <button class="btn" type="submit">
  36.                                         <svg style="fill: #fff;" width="45" height="45" id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 283.46 283.46">
  37.                                             <path d="M179.33,24.31c29.29,4.31,51.88,18.92,67.26,44.33,10.63,17.57,15.14,36.86,12.41,57.12-5.46,40.6-28.12,67.39-67.32,79.3-19.08,5.8-38.34,4.53-56.95-2.71-6.32-2.46-12.18-6.11-18.25-9.22-.6-.31-1.18-.65-1.96-1.08-1.05,5.25-4.33,8.85-7.85,12.37-15.53,15.49-31.05,30.98-46.46,46.58-4.18,4.23-8.56,7.91-14.58,9.06h-5.07c-5.23-1.18-10.05-3.28-13.02-7.94-1.77-2.79-2.73-6.09-4.05-9.17,0-1.69,0-3.39,0-5.08,1.18-6.11,4.95-10.51,9.22-14.75,15.72-15.6,31.34-31.31,46.95-47.02,3.3-3.33,6.8-6.23,11.66-7.21-2.08-3.67-4.21-7.12-6.06-10.71-8.91-17.35-12.04-35.74-9.29-55.04,3.82-26.8,17-47.99,39.08-63.46,13.61-9.54,28.89-14.76,45.51-15.93,.6-.04,1.19-.23,1.79-.35,3.23,0,6.46,0,9.69,0,2.43,.3,4.87,.55,7.29,.9Zm56.88,91.63c-.04-38.19-30.9-69.07-68.95-69.01-38.08,.06-69.03,31.07-68.95,69.09,.08,38.08,31.12,69.14,69.02,69.08,38.06-.07,68.91-31.05,68.87-69.15Z"/>
  38.                                         </svg>
  39.                                     </button>
  40.                                 </div>
  41.                             </div>
  42.                             {{ form_end(form) }}
  43.                         </div>
  44.                     </div>
  45.                 </div>
  46.             </div>
  47.         </div>
  48.         {# Coup de coeur #}
  49.         <div class="container-fluid my-5 shadow">
  50.             <div class="row position-relative px-0">
  51.                 <img class="px-0" src="{{ asset('assets/img/home/' ~ home.imageCoeur ) }}" alt="Image coup de Coeur" style="max-height: 100vh; object-fit: cover;">
  52.                 <div class="col-lg-4 col-sm-12 color-bg p-4 mt-5 home-responsive-coeur">
  53.                     <a class="button-white" href="{{ home.buttonUrlcoeur }}">
  54.                         <svg class="me-2" width="25" height="25" viewBox="0 0 16 16">
  55.                             <path fill="currentColor" fill-rule="evenodd"
  56.                                 d="M8 1.314C12.438-3.248 23.534 4.735 8 15C-7.534 4.736 3.562-3.248 8 1.314z" /></svg>
  57.                         {{ home.buttonTextcoeur }}
  58.                     </a>
  59.                     <p class="small text-white mt-4">
  60.                         {{ home.textcoeur|replace({'<div>': '', '</div>': '', '<p>': '', '</p>': ''})|raw }}
  61.                     </p>
  62.                 </div>
  63.             </div>
  64.         </div>
  65.         {# Tous nos biens #}
  66.         <div class="container-fluid">
  67.             <div class="row">
  68.                 <div class="col position-relative px-0">
  69.                     <div class="my-slider tousnosbiens-bg">
  70.                         <!-- Images administrables -->
  71.                         {% if home.imageBien1 != null %}
  72.                             <div>
  73.                                 <img src="{{ asset('assets/img/home/' ~ home.imageBien1) }}" alt="maison1" class="d-block mx-auto w-100">
  74.                             </div>
  75.                         {% else %}
  76.                             <img src="{{ asset('assets/img/maison.jpg') }}" alt="Arenes.immo" class="img-fluid">
  77.                         {% endif %}
  78.                         {% if home.imageBien2 != null %}
  79.                             <div>
  80.                                 <img src="{{ asset('assets/img/home/' ~ home.imageBien2) }}" alt="maison2" class="d-block mx-auto w-100">
  81.                             </div>
  82.                         {% endif %}
  83.                         {% if home.imageBien3 != null %}
  84.                             <div>
  85.                                 <img src="{{ asset('assets/img/home/' ~ home.imageBien3) }}" alt="maison3" class="d-block mx-auto w-100">
  86.                             </div>
  87.                         {% endif %}
  88.                     </div>
  89.                     <div class="row">
  90.                         <div class="tousnosbiens col-lg-4 col-sm-12 color-bg p-4 mt-4">
  91.                             <div class="text-end">
  92.                                 <a class="button-white" href="{{ home.buttonUrlbiens }}">
  93.                                     <svg class="me-3 fw-bold" width="27" height="27" viewBox="0 0 24 24">
  94.                                         <path fill="currentColor"
  95.                                             d="M20 20a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9z" />
  96.                                     </svg>
  97.                                     {{ home.buttonTextbiens }}
  98.                                 </a>
  99.                                 <p class="small text-white mt-5">
  100.                                     {{ home.textbiens|replace({'<div>': '', '</div>': '', '<p>': '', '</p>': ''})|raw }}
  101.                                 </p>
  102.                             </div>
  103.                         </div>
  104.                     </div>
  105.                     <div class="d-flex justify-content-center container-fleches">
  106.                         <div class="previous-arrow mx-5">
  107.                             <svg style="fill: #fff; font-weight: bold;" width="45" height="45" viewBox="0 0 20 20">
  108.                                 <path d="m4 10l9 9l1.4-1.5L7 10l7.4-7.5L13 1z" /></svg>
  109.                         </div>
  110.                         <div class="next-arrow mx-5">
  111.                             <svg style="fill: #fff; font-weight: bold;" width="45" height="45" viewBox="0 0 20 20">
  112.                                 <path d="M7 1L5.6 2.5L13 10l-7.4 7.5L7 19l9-9z" /></svg>
  113.                         </div>
  114.                     </div>
  115.                 </div>
  116.             </div>
  117.         </div>
  118.         {# Avis #}
  119.         <div class="container-fluid avis-bg">
  120.             <div class="row">
  121.                 <div class="col-lg-5 col-sm-12 avis-text">
  122.                     <h3>{{ home.titleAvis }}</h3>
  123.                     <p>
  124.                         {{ home.textAvis|replace({'<div>': '', '</div>': '', '<p>': '', '</p>': ''})|raw }}
  125.                     </p>
  126.                 </div>
  127.                 <div class="col-lg-2"></div>
  128.                 <div class="col-lg-3 col-sm-12 position-relative text-center mt-5">
  129.                     <div class="d-flex justify-content-center mt-5">
  130.                         <div class="avis-contact position-absolute">
  131.                             <svg class="mb-1 me-2" width="22" height="22" viewBox="0 0 24 24"><path fill="currentColor" d="m5.825 22l1.625-7.025L2 10.25l7.2-.625L12 3l2.8 6.625l7.2.625l-5.45 4.725L18.175 22L12 18.275Z"/></svg>
  132.                             Avis clients
  133.                         </div>
  134.                     </div>
  135.                     <div class="row">
  136.                         <div class="col slider-avis-bg">
  137.                             <div class="my-slider2">
  138.                                 {% if avis is defined and avis != null %}
  139.                                     {% for a in avis %}
  140.                                         <div class="px-5">
  141.                                             <p class="px-2">
  142.                                                 {{ a.content|replace({'<div>': '', '</div>': '', '<p>': '', '</p>': '',})|slice(0,300)|raw }}
  143.                                             </p>
  144.                                             <span class="fw-bold">{{ a.nom|raw }}
  145.                                                 {% if a.email != null %}
  146.                                                     | {{ a.email }}
  147.                                                 {% endif %}
  148.                                                 {% if a.note != null %}
  149.                                                     | Note : {{ a.note }}/5</span>
  150.                                                 {% endif %}
  151.                                         </div>
  152.                                     {% endfor %}
  153.                                 {% else %}
  154.                                     <div class="px-5">
  155.                                         <p class="px-2 pt-3 fw-bold">
  156.                                             Il n'y a aucun avis.
  157.                                         </p>
  158.                                     </div>
  159.                                 {% endif %}
  160.                             </div>
  161.                             <div class="d-flex justify-content-between position-absolute w-100"
  162.                                 style="margin-top: -100px; position: relative; z-index: 10;">
  163.                                 <div class="previous-arrow2 ms-1">
  164.                                     <svg style="fill: #fff;" width="40" height="40" viewBox="0 0 20 20">
  165.                                         <path d="m4 10l9 9l1.4-1.5L7 10l7.4-7.5L13 1z" /></svg>
  166.                                 </div>
  167.                                 <div class="next-arrow2 me-4">
  168.                                     <svg style="fill: #fff;" width="40" height="40" viewBox="0 0 20 20">
  169.                                         <path d="M7 1L5.6 2.5L13 10l-7.4 7.5L7 19l9-9z" /></svg>
  170.                                 </div>
  171.                             </div>
  172.                         </div>
  173.                     </div>
  174.                 </div>
  175.             </div>
  176.             <div class="row pt-5 pb-3 d-flex justify-content-center">
  177.                 <div class="col-lg-3 col-sm-12 text-center">
  178.                     <hr style="width: 35%; margin-left: auto; margin-right: auto; border: 1px solid white; opacity: 100% !important;">
  179.                     <h1 class="text-white pt-2">{{ home.titleBottom }}</h1>
  180.                 </div>
  181.             </div>
  182.         </div>
  183.         {# Nous trouver #}
  184.         <div class="container-fluid trouver-bg">
  185.             <div class="row">
  186.                 <div class="col trouver-adresse">
  187.                     <a href="{{ home.buttonUrltrouver }}" class="button-trouver">
  188.                         <svg class="me-2" width="27" height="27" viewBox="0 0 384 512">
  189.                             <path fill="currentColor"
  190.                                 d="M384 192c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0s192 86 192 192z" />
  191.                         </svg>
  192.                         {{ home.buttonTexttrouver }}
  193.                     </a>
  194.                     <h4 class="text-uppercase mt-5 capitalisfont trouver-adresse-title">{{ settings[0].siteName }}</h4>
  195.                     <p class="lead">
  196.                         {{ settings[0].siteAdresse }}<br>
  197.                         {{ settings[0].siteCp}} {{ settings[0].siteVille}}
  198.                     </p>
  199.                 </div>
  200.                 {# <div class="col-lg-6 col-sm-12">
  201.                     <img src="{{ asset('assets/img/map-trouver.jpg') }}" alt="Map" class="img-fluid" style="max-height: 350px; width: 100%; object-fit: cover;">
  202.                 </div> #}
  203.             </div>
  204.         </div>
  205.     {% endfor %}
  206. {% endblock %}
  207. {% block javascripts %}
  208. <script src="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/min/tiny-slider.js"></script>
  209. <script type="module">
  210.     var slider = tns({
  211.             container: '.my-slider',
  212.             items: 1,
  213.             slideBy: 'page',
  214.             loop: true,
  215.             //autoplay: true,
  216.             //speed: 2000,
  217.             arrowKeys: true,
  218.             nav: false,
  219.             prevButton: '.previous-arrow',
  220.             nextButton: '.next-arrow',
  221.             });
  222.     </script>
  223. <script type="module">
  224.     var slider2 = tns({
  225.             container: '.my-slider2',
  226.             items: 1,
  227.             slideBy: 'page',
  228.             loop: true,
  229.             //autoplay: true,
  230.             //speed: 2000,
  231.             arrowKeys: true,
  232.             nav: false,
  233.             prevButton: '.previous-arrow2',
  234.             nextButton: '.next-arrow2',
  235.             });
  236.     </script>
  237. {{ parent() }}
  238. {% endblock %}