templates/vinyl/show.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block meta %}
  3.     <meta name="description" content="Acheter vinyle {{ vinyl.designation }}, vinyle {{vinyl.styles[0].name}}. {{ vinyl.description }}">
  4.     <meta name="keywords" content="Mazykka, vinyles, {% for style in vinyl.styles %} {{ style.name }}{% if not loop.last %},{% endif %} {% endfor %} "> 
  5.     <meta property="og:url" content="{{ app.request.scheme ~'://' ~ app.request.httpHost ~ path('vinyls_show', {'slug': vinyl.slug}) }}" />
  6.     {% if vinyl.img != null %}
  7.     <meta property="og:image" content="{{ app.request.scheme ~'://' ~ app.request.httpHost ~ asset('uploads/vinyles/' ~ vinyl.slug ~ '/' ~ vinyl.img) }}" />
  8.     {% endif %}
  9. {% endblock %}
  10. {% block title %}{{ vinyl.designation }}{% endblock %}
  11. {% block hero %}
  12.     <h1 class="text-center">{{ 'vinyl_detail.hero_title'|trans }} <span>{{ vinyl.designation }}</span></h1>
  13. {% endblock %}
  14. {% block body %}
  15. <section class="vinyl_details bg-white rounded mt-4">
  16.     <br>
  17.     <div class="container-fluid mt-4 w-100 mx-0 px-2">
  18.         <div class="row justify-content-center">
  19.             <div class="col-lg-4 col-md-4">
  20.                 <div class="product__details__pic">
  21.                     <div class="product__details__pic__item">
  22.                         {% if vinyl.img != null %}
  23.                             <img src="{{ asset('uploads/vinyles/' ~ vinyl.slug ~ '/' ~ vinyl.img) }}" class="card-img-top" alt="{{ vinyl.designation }} - vinyle {{ vinyl.styles[0].name }}">
  24.                         {% else %}
  25.                             <img src="{{ asset('uploads/vinyles/default_vinyl.png') }}" class="card-img-top" alt="{{ vinyl.designation }} - vinyle {{ vinyl.styles[0].name }}">
  26.                         {% endif %}
  27.                         <div class="banner bg-primary fs-5 text-white text-center">
  28.                         {% if vinyl.promo and vinyl.promo > 0 %}
  29.                              {{ 'vinyl_pages.promo'|trans }} 
  30.                         {% else %}
  31.                             {% if vinyl.promotes|length > 0 %}
  32.                                 {% for promote in vinyl.promotes %}
  33.                                     {% if promote.name == "new" %}
  34.                                         {{ 'vinyl_pages.new_item'|trans }} 
  35.                                     {% elseif promote.name == "best-seller"  %}
  36.                                         {{ 'vinyl_pages.best_seller'|trans }}
  37.                                     {% elseif promote.name == "repress"  %}
  38.                                         {{ 'vinyl_pages.repress'|trans }}   
  39.                                     {% else %}
  40.                                         {{ promote.name|capitalize }} 
  41.                                     {% endif %}
  42.                                     
  43.                                     {% if not loop.last %} / {% endif %}
  44.                                 {% endfor %}
  45.                             {% endif %}
  46.                         {% endif %}
  47.                         </div>
  48.                     </div>
  49.                 </div>
  50.             </div>
  51.             <div class="col-lg-6 col-md-6">
  52.                 <div class="product__details__text">
  53.                     <ul class="border-0 mt-0 mb-3">
  54.                         <li>
  55.                             <b>{{ 'vinyl_pages.title'|trans }}</b>
  56.                             <span>{{ vinyl.designation }}</span>
  57.                         </li>
  58.                         <li>
  59.                             <b>{{ 'vinyl_pages.reference'|trans }}</b>
  60.                             <span>{{ vinyl.ref }}</span>
  61.                         </li>
  62.                         <li>
  63.                             <b>{{ 'vinyl_pages.artist'|trans }}</b>
  64.                             {% for artist in artists %}
  65.                                 <a href="{{ path('vinyls_search', {'artist': artist.id}) }}">{{ artist.name }}</a>
  66.                                 {% if not loop.last %} | {% endif %}
  67.                             {% endfor %}
  68.                         </li>
  69.                         <li>
  70.                             <b>{{ 'vinyl_pages.label'|trans }}</b>
  71.                             <span>
  72.                                 <a href="{{ path('vinyls_search', {'label': vinyl.label.id}) }}">{{ vinyl.label.name }}</a>
  73.                             </span>
  74.                         </li>
  75.                         <li>
  76.                             <b>{{ 'vinyl_pages.style'|trans }}</b>
  77.                             {% for style in vinyl.styles %} 
  78.                                 <span>
  79.                                     <a href="{{ path('vinyls_index', {'stylename': style.slug}) }}">{{ style.name|capitalize }}</a>
  80.                                 </span>
  81.                                 {% if not loop.last %}/{% endif %} 
  82.                             {% endfor %}
  83.                         </li>
  84.                         <li>
  85.                             <b>{{ 'vinyl_pages.release_date'|trans }}</b>
  86.                             <span>{{ vinyl.year }}</span>
  87.                         </li>
  88.                         <li>
  89.                             <b>{{ 'vinyl_pages.condition'|trans }}</b>
  90.                             <span>{{ vinyl.state }}</span>
  91.                         </li>
  92.                         <li>
  93.                             <b>{{ 'vinyl_pages.nb_vinyls'|trans }}</b>
  94.                             <span>{{ vinyl.nbItems }}</span>
  95.                         </li>
  96.                         <li>
  97.                             <b>{{ 'vinyl_pages.availability'|trans }}</b>
  98.                             {% if vinyl.quantity > 0 %}
  99.                                 <span class="success fw-bold px-2">{{ 'vinyl_pages.in_stock'|trans }}</span>
  100.                             {% else %}
  101.                                 <span class="error fw-bold px-2">{{ 'vinyl_pages.out_of_stock'|trans }}</span>
  102.                             {% endif %}
  103.                             
  104.                         </li>
  105.                     </ul>
  106.                     <p>{{ vinyl.description|nl2br }}</p>
  107.                     <form action="{{ path('cart_add', {'id': vinyl.id}) }}" method="POST" name="form_qty" id="form_qty">
  108.                         <div class="container w-100">
  109.                             <div class="row flex-wrap">
  110.                                 <div class="col-lg-6  col-md-6">
  111.                                     <div class="product__details__price text-center">
  112.                                         {% if vinyl.promo and vinyl.promo > 0 %}
  113.                                             <del class="fw-normal fs-6 me-2">{{ vinyl.price|number_format(2) }} €</del>  <span class="success">{{ vinyl.promo|number_format(2) }} €{% if vinyl.state == "neuf" %} <span class="vat">{{ 'vinyl_pages.ttc'|trans }}</span>{% endif %}</span>
  114.                                         {% else %}
  115.                                             {{ vinyl.price|number_format(2) }}€{% if vinyl.state == "neuf" %} <span class="vat">{{ 'vinyl_pages.ttc'|trans }}</span>{% endif %}
  116.                                         {% endif %}
  117.                                         
  118.                                     </div>
  119.                                 </div>
  120.                                 <div class="col-lg-6 col-md-6 text-center">
  121.                                     {% if vinyl.quantity > 0 %}
  122.                                     
  123.                                     <div class="product__details__quantity">
  124.                                         <div class="quantity">
  125.                                             <div class="pro-qty">
  126.                                                 <input type="text" name="qty" id="qty" value="1" min="1" max="{{ vinyl.quantity }}">
  127.                                             </div>
  128.                                         </div>
  129.                                     </div>
  130.                                     {% endif %}
  131.                                 </div>
  132.                             </div>
  133.                             <div class="container text-center my-4">
  134.                                 {% if vinyl.quantity > 0 %}
  135.                                     {% if app.user %}
  136.                                         <button type="submit" class="btn primary-btn w-100"><i class="fa fa-shopping-cart" aria-hidden="true"></i></button>
  137.                                     {% else %}
  138.                                         <button type="button" class="btn btn-primary mt-2 w-100" data-bs-toggle="modal" data-bs-target="#needConnexionModal">
  139.                                             <i class="fa fa-shopping-cart" aria-hidden="true"></i>
  140.                                         </button>
  141.                                     {% endif %}
  142.                                 {% endif %}
  143.                             </div>
  144.                         </div>
  145.                     </form>
  146.                 </div>
  147.             </div>
  148.         </div>
  149.         <div class="row justify-content-center mt-4">
  150.                     <div class="col-lg-8">
  151.                         <div class="section-title">
  152.                             <h2>{{ 'vinyl_pages.audio_tracks'|trans }}</h2>
  153.                         </div>
  154.                         <div class="tracklist mt-4 d-flex flex-column justify-content-center text-center">
  155.                             {% for track in vinyl.tracks %}
  156.                                 <div class="row flex-wrap my-1">
  157.                                     <div class="col-lg-6 col-md-12">
  158.                                         <p>
  159.                                             {{ track.piste }} - {{ track.title }} 
  160.                                             {% for artist in track.artists %}
  161.                                                 <a href="{{ path('vinyls_search', {'artist': artist.id}) }}">{{ artist.name }}</a>
  162.                                                 {% if not loop.last %} & {% endif %}
  163.                                                 
  164.                                             {% endfor %}
  165.                                         </p>
  166.                                     </div>
  167.                                     <div class="col-lg-6 col-md-12">
  168.                                         <audio controls src="{{ asset('uploads/vinyles/' ~ vinyl.slug ~ '/' ~ track.filename ~ '.mp3' ) }}" controlslist="nodownload" preload="none">
  169.                                             {{ 'vinyl_pages.browser_no_support'|trans }}
  170.                                             <code>{{ 'vinyl_pages.audio_element'|trans }}</code>
  171.                                             {{ 'vinyl_pages.element'|trans }}
  172.                                         </audio>
  173.                                     </div>
  174.                                 </div>
  175.                                 
  176.                             {% endfor %}
  177.                         </div>
  178.                     </div>
  179.                    
  180.                 </div>
  181.             
  182.     </div>
  183. </section>
  184. {% endblock %}
  185. {# Extras #}
  186. {% block extras %}
  187.     {% include "components/theme/_extras.html.twig" %}
  188. {% endblock %}