templates/front/product-option/qty-block-new.html.twig line 1

Open in your IDE?
  1. {% set qtys = triTableQuantity(qtys) %}
  2. {% macro blocQuantity(qtys,qty,aboType,product) %}
  3.     <div class="bx_select row_select_ca boxQuantityBlocNew" >
  4.         <div class="d-flex">
  5.             <div class="f_family">
  6.                 <a aria-controls="select_row_ca_add2" aria-expanded="false" role="button" href="#select_row_ca_add2" data-toggle="collapse" class="btn btn-primary collapsed">
  7.                     {% set quantityDefault = null %}
  8.                     {% for item in qtys %}
  9.                         {% if item.qty == qty %}
  10.                             {% set quantityDefault = item %}
  11.                         {% endif %}
  12.                     {% endfor %}
  13.                     <span style="" class="titreProductQuantitySpan1">
  14.                                 {% if quantityDefault %}{{ quantityDefault.qty }} {{product.titre | trans({}, "productTranslate")}}{% endif %}
  15.                            </span>
  16.                     <span style="" class="titreProductQuantitySpan2">
  17.                                 {% if quantityDefault %}
  18.                                     {{ number_format(quantityDefault.prixHt) }}€ Ht
  19.                                     {% if quantityDefault.isPromoDetail %}
  20.                                         <strike style="color: red;">{{ number_format(quantityDefault.prixHtWithoutPromo) }}€ Ht</strike>
  21.                                     {% endif %}
  22.                                 {% endif %}
  23.                             </span>
  24.                 </a>
  25.                 <div class="collapse" id="select_row_ca_add2" style="">
  26.                     <div class="row_select_ca02 row p-0">
  27.                         <div class="col-12 p-0">
  28.                             <div class=" bx_global_radio taille_full" style="max-width: 100%;">
  29.                                 {% for item in qtys %}
  30.                                     <div class="taille tailleSelect col-lg-12 pr-0  pl-0">
  31.                                         <input type="radio" name="quantity" class="select_ca_btn" data-text-quantity="{{ item.qty }} {{product.titre | trans({}, "productTranslate")}}" data-text-prix="  {{ number_format(item.prixHt) }}€{% if item.isPromoDetail %}<strike style='color: red;'>{{ number_format(item.prixHtWithoutPromo) }}€</strike>{% endif %}" id="qantity{{ aboType }}{{ item.id }}" {% if item.qty == qty %}checked="checked"{% endif %} value="{{ item.qty }}">
  32.                                         <label for="qantity{{ aboType }}{{ item.id }}" style="width: 100%" class="block taille ">
  33.                                             <div class="row">
  34.                                                 <div class="col-6 pl-0" >
  35.                                                                 <span class="prixProductQty">
  36.                                                                    {{ item.qty }} {{product.titre | trans({}, "productTranslate")}}
  37.                                                                 </span>
  38.                                                     <span class="prixProductQtyUnite">
  39.                                                                    {{ number_format(item.prixHt / item.qty) }}/{{'unité' | trans({}, "productTranslate")}}
  40.                                                                 </span>
  41.                                                 </div>
  42.                                                 <div class="col-6 pr-0 qtyAndMacrance">
  43.                                                                 <span>
  44.                                                                     {{ number_format(item.prixHt) }}€ HT
  45.                                                                     {% if item.isPromoDetail %}
  46.                                                                         <strike style="color: red;">{{ number_format(item.prixHtWithoutPromo) }}€ HT</strike>
  47.                                                                     {% endif %}
  48.                                                                     <b>
  49.                                                                         {% if item.livraison30minLendemain == false and item.isExaprint == false and item.isExaprintUnique == false and item.isJPlus5 == false and item.isJPlus10 == false and item.isJPlus15 == false  %}
  50.                                                                             <img src="{{ asset('images/Macarons_Copees_j0.png') }}"  style="width: 40px;" >
  51.                                                                         {% elseif item.isExaprint or item.isExaprintUnique %}
  52.                                                                             <img src="{{ asset('images/Macarons_Copees_j2.png') }}"  style="width: 40px;" >
  53.                                                                         {% elseif item.isJPlus5 %}
  54.                                                                             <img src="{{ asset('images/Macarons_Copees_j5.png') }}"  style="width: 40px;" >
  55.                                                                         {% elseif item.isJPlus10 %}
  56.                                                                             <img src="{{ asset('images/Macarons_Copees_j10.png') }}"  style="width: 40px;" >
  57.                                                                         {% elseif item.isJPlus15 %}
  58.                                                                             <img src="{{ asset('images/Macarons_Copees_j15.png') }}"  style="width: 40px;" >
  59.                                                                         {% elseif item.livraison30minLendemain %}
  60.                                                                             <img src="{{ asset('images/Macarons_Copees_j1.png') }}"  style="width: 40px;" >
  61.                                                                         {% else %}
  62.                                                                             <img src="{{ asset('images/Macarons_Copees_j2.png') }}"  style="width: 40px;" >
  63.                                                                         {% endif %}
  64.                                                                      </b>
  65.                                                                 </span>
  66.                                                 </div>
  67.                                             </div>
  68.                                         </label>
  69.                                     </div>
  70.                                 {% endfor %}
  71.                             </div>
  72.                         </div>
  73.                     </div>
  74.                 </div>
  75.             </div>
  76.         </div>
  77.     </div>
  78. {% endmacro %}
  79. {% if checkIsAbonnementPro(app.user) or checkIsAbonnementProCart() %}
  80.     {% if product.isDeleted or getDisponibiliteProductPerCountrySession(product) == false %}
  81.     {% else %}
  82.         <div class="row_select_ca10">
  83.             {% if product.typeProduct in [constant('App\\Entity\\Product::PHOTOS') , constant('App\\Entity\\Product::PHOTOS')] %}
  84.                 <h3>Tableau des quantités</h3>
  85.                 <div class="row taille_full">
  86.                     <div class=" col-lg-12 mb-2">
  87.                         <table id="tableQuantityProductOption" class="table table-striped">
  88.                             <thead>
  89.                             <tr>
  90.                                 <th style="background-color: #e3e2e245;text-align: center" scope="col" colspan="2">{% if type.id is defined %}{{ type.name | trans({}, "productTranslate") }}{% endif %}</th>
  91.                             </tr>
  92.                             <tr>
  93.                                 <th style="text-align: center" >{{ 'Quantité' | trans({}, "productTranslate") }}</th>
  94.                                 <th style="text-align: center" >{{ 'Prix (par unité)' | trans({}, "productTranslate") }}</th>
  95.                             </tr>
  96.                             </thead>
  97.                             <tbody>
  98.                             {% for item in qtys %}
  99.                                 <tr>
  100.                                     <td style="text-align: center" >{{ item.textQuantity }}</td>
  101.                                     <td style="text-align: center" >{{ number_format(item.prixHt) }}€</td>
  102.                                 </tr>
  103.                             {% endfor %}
  104.                             </tbody>
  105.                         </table>
  106.                     </div>
  107.                 </div>
  108.             {% else %}
  109.                 <div id="" class="productIndexOptionNewTitre" style="margin-top: 20px;">
  110.                     <h3 style="margin-top: 0px !important;">Combien ?</h3>
  111.                 </div>
  112.                 {% if product.isColorLab %}
  113.                     {{ _self.blocQuantity(qtys,qty,10,product) }}
  114.                 {% else %}
  115.                     {{ _self.blocQuantity(qtys,qty,10,product) }}
  116.                 {% endif %}
  117.             {% endif %}
  118.         </div>
  119.     {% endif %}
  120. {% else %}
  121.     {% if product.isDeleted or getDisponibiliteProductPerCountrySession(product) == false %}
  122.     {% else %}
  123.         <div class="row_select_ca10">
  124.             <div id="" class="productIndexOptionNewTitre">
  125.                 <h3 style="margin-top: 10px !important;">Abonnement</h3>
  126.             </div>
  127.             <div class="row taille_full" style="width: 100%;">
  128.                 <div class="taille tailleSelect col-12 col-md-6 col-lg-6 p-0 col-xl-4 mb-2" data-original-title="" title="">
  129.                     <input type="radio" name="priceAbonnementLink" class="select_ca_btn" id="abonnementPlusSection1Link" value="1">
  130.                     <label for="abonnementPlusSection1Link" class="block taille " data-toggle="tooltip" data-html="true"
  131.                            title="
  132.                        <h2>Passez à Copees + !</h2>
  133.                        <ul>
  134.                             <li>Jusqu’à 50% de réduction sur notre catalogue de plus de 300 produits</li>
  135.                             <li>Livraison gratuite illimitée le jour même sur créneau de 30 mn dans plus de 10 villes en France, et sous 48H maximum dans le reste de la France</li>
  136.                             <li>Paiement automatique à 30 jours dès votre 2eme commande</li>
  137.                             <li>Sauvegarde de vos fichiers dans votre espace</li>
  138.                             <li>Une plateforme tout en un pour vous et vos collaborateurs avec plus de 300 produits et 20 000 modèles à personnaliser</li>
  139.                             <li>Abonnement sans engagement de durée, résiliable en 1 clic à tous moments</li>
  140.                        </ul>
  141.                         ">
  142.                         <div class="ca_image_txt aboTitreBlock morePaddingaboTitreBlock">
  143.                             <h4 class="aboTitreBlockH41"><strong>-10%</strong> avec </h4>
  144.                             <h4 class="aboTitreBlockH42">   
Copees+ à 5,99€/mois</h4>
  145.                         </div>
  146.                     </label>
  147.                 </div>
  148.                 <div class="taille  tailleSelect col-12 col-md-6 col-lg-6 p-0 col-xl-4 mb-2" data-original-title="" title="">
  149.                     <input type="radio" name="priceAbonnementLink" class="select_ca_btn" id="abonnementBusinessSection1Link" value="1">
  150.                     <label for="abonnementBusinessSection1Link" class="block taille" data-toggle="tooltip" data-html="true"
  151.                            title="
  152.                        <h2>Passez à Copees Business !</h2>
  153.                        <ul>
  154.                             <li>Jusqu’à 50% de réduction sur notre catalogue de plus de 300 produits</li>
  155.                             <li>Livraison gratuite illimitée le jour même sur créneau de 30 mn dans plus de 10 villes en France, et sous 48H maximum dans le reste de la France</li>
  156.                             <li>Paiement automatique à 30 jours dès votre 2eme commande</li>
  157.                             <li>Sauvegarde de vos fichiers dans votre espace</li>
  158.                             <li>Une plateforme tout en un pour vous et vos collaborateurs avec plus de 300 produits et 20 000 modèles à personnaliser</li>
  159.                             <li>Abonnement sans engagement de durée, résiliable en 1 clic à tous moments</li>
  160.                             <li>Un système de Multi-livraison simple pour répondre à vos besoins </li>
  161.                             <li>Partager votre compte avec tous vos collaborateurs </li>
  162.                        </ul>
  163.                         ">
  164.                         <div class="ca_image_txt aboTitreBlock morePaddingaboTitreBlock">
  165.                             <h4 class="aboTitreBlockH41 "><strong>-20%</strong> avec </h4>
  166.                             <h4 class="aboTitreBlockH42">
Business à 19,99€/mois</h4>
  167.                         </div>
  168.                     </label>
  169.                 </div>
  170.                 <div class="taille  tailleSelect col-12 col-md-6 col-lg-6 p-0 col-xl-4 mb-2" data-original-title="" title="">
  171.                     <input type="radio" name="priceAbonnementLink" class="select_ca_btn active" id="sansAbonnementSection1Link" value="1">
  172.                     <label for="sansAbonnementSection1Link" class="block taille" data-original-title="" title="">
  173.                         <div class="ca_image_txt aboTitreBlock morePaddingaboTitreBlock1">
  174.                             <h4 class="aboTitreBlockH41 "><strong>Sans abonnement</strong> </h4>
  175.                         </div>
  176.                     </label>
  177.                 </div>
  178.             </div>
  179.             <div id="" class="productIndexOptionNewTitre" style="margin-top: 20px;">
  180.                 <h3 style="margin-top: 0px !important;">Combien ?</h3>
  181.             </div>
  182.             {% if product.typeProduct in [constant('App\\Entity\\Product::PHOTOS') , constant('App\\Entity\\Product::PHOTOS')] %}
  183.                 <div id="abonnementPlusSection1"   style="">
  184.                     <div class="row taille_full">
  185.                         <div class=" col-lg-12 mb-2">
  186.                             <table id="tableQuantityProductOption" class="table table-striped">
  187.                                 <thead>
  188.                                 <tr>
  189.                                     <th style="background-color: #e3e2e245;text-align: center" scope="col" colspan="2">{% if type.id is defined %}{{ type.name | trans({}, "productTranslate") }}{% endif %}</th>
  190.                                 </tr>
  191.                                 <tr>
  192.                                     <th style="text-align: center" >{{ 'Quantité' | trans({}, "productTranslate") }}</th>
  193.                                     <th style="text-align: center" >{{ 'Prix (par unité)' | trans({}, "productTranslate") }}</th>
  194.                                 </tr>
  195.                                 </thead>
  196.                                 <tbody>
  197.                                 {% for item in qtysPlus %}
  198.                                     <tr>
  199.                                         <td style="text-align: center" >{{ item.textQuantity }}</td>
  200.                                         <td style="text-align: center" >{{ number_format(item.prixHt) }}€</td>
  201.                                     </tr>
  202.                                 {% endfor %}
  203.                                 </tbody>
  204.                             </table>
  205.                         </div>
  206.                     </div>
  207.                 </div>
  208.                 <div id="abonnementBusinessSection1"   style="display: none">
  209.                     <div class="row taille_full">
  210.                         <div class=" col-lg-12 mb-2">
  211.                             <table id="tableQuantityProductOption" class="table table-striped">
  212.                                 <thead>
  213.                                 <tr>
  214.                                     <th style="background-color: #e3e2e245;text-align: center" scope="col" colspan="2">{% if type.id is defined %}{{ type.name | trans({}, "productTranslate") }}{% endif %}</th>
  215.                                 </tr>
  216.                                 <tr>
  217.                                     <th style="text-align: center" >{{ 'Quantité' | trans({}, "productTranslate") }}</th>
  218.                                     <th style="text-align: center" >{{ 'Prix (par unité)' | trans({}, "productTranslate") }}</th>
  219.                                 </tr>
  220.                                 </thead>
  221.                                 <tbody>
  222.                                 {% for item in qtysTeam %}
  223.                                     <tr>
  224.                                         <td style="text-align: center" >{{ item.textQuantity }}</td>
  225.                                         <td style="text-align: center" >{{ number_format(item.prixHt) }}€</td>
  226.                                     </tr>
  227.                                 {% endfor %}
  228.                                 </tbody>
  229.                             </table>
  230.                         </div>
  231.                     </div>
  232.                 </div>
  233.                 <div id="sansAbonnementSection1"   style="display: none">
  234.                     <div class="row taille_full">
  235.                         <div class=" col-lg-12 mb-2">
  236.                             <table id="tableQuantityProductOption" class="table table-striped">
  237.                                 <thead>
  238.                                 <tr>
  239.                                     <th style="background-color: #e3e2e245;text-align: center" scope="col" colspan="2">{% if type.id is defined %}{{ type.name | trans({}, "productTranslate") }}{% endif %}</th>
  240.                                 </tr>
  241.                                 <tr>
  242.                                     <th style="text-align: center" >{{ 'Quantité' | trans({}, "productTranslate") }}</th>
  243.                                     <th style="text-align: center" >{{ 'Prix (par unité)' | trans({}, "productTranslate") }}</th>
  244.                                 </tr>
  245.                                 </thead>
  246.                                 <tbody>
  247.                                 {% for item in qtys %}
  248.                                     <tr>
  249.                                         <td style="text-align: center" >{{ item.textQuantity }}</td>
  250.                                         <td style="text-align: center" >{{ number_format(item.prixHt) }}€</td>
  251.                                     </tr>
  252.                                 {% endfor %}
  253.                                 </tbody>
  254.                             </table>
  255.                         </div>
  256.                     </div>
  257.                 </div>
  258.             {% else %}
  259.                 <div id="abonnementPlusSection1" style="display: none">
  260.                     {% if product.isColorLab %}
  261.                         {{ _self.blocQuantity(qtysPlus,qty,constant('App\\Entity\\AbonnementPro::TYPE_PRO'),product) }}
  262.                     {% else %}
  263.                         {{ _self.blocQuantity(qtysPlus,qty,constant('App\\Entity\\AbonnementPro::TYPE_PRO'),product) }}
  264.                     {% endif %}
  265.                 </div>
  266.                 <div id="abonnementBusinessSection1"  style="display: none">
  267.                     {% if product.isColorLab %}
  268.                         {{ _self.blocQuantity(qtysTeam,qty,constant('App\\Entity\\AbonnementPro::TYPE_TEAM'),product) }}
  269.                     {% else %}
  270.                         {{ _self.blocQuantity(qtysTeam,qty,constant('App\\Entity\\AbonnementPro::TYPE_TEAM'),product) }}
  271.                     {% endif %}
  272.                 </div>
  273.                 <div id="sansAbonnementSection1"   style="">
  274.                     {% if product.isColorLab %}
  275.                         {{ _self.blocQuantity(qtys,qty,10,product) }}
  276.                     {% else %}
  277.                         {{ _self.blocQuantity(qtys,qty,10,product) }}
  278.                     {% endif %}
  279.                 </div>
  280.             {% endif %}
  281.         </div>
  282.         <style>
  283.             .tooltip-inner {
  284.                 background-color: #2C2C2C!important;
  285.                 min-width: 250px!important;
  286.                 max-width: initial!important;
  287.             }
  288.             .tooltip-inner ul li {
  289.                 text-align:left!important;
  290.             }
  291.         </style>
  292.     {% endif %}
  293. {% endif %}
  294. {#<div class="tooltip fade show bs-tooltip-bottom" role="tooltip" id="tooltip854841" style="position: absolute; transform: translate3d(89px, 3112px, 0px); top: 0px; left: 0px; will-change: transform;" x-placement="bottom">#}
  295.     {#<div class="arrow" style="left: 94px;"></div>#}
  296.     {#<div class="tooltip-inner">#}
  297.         {#<h2>Passez au Compte + !</h2>#}
  298.         {#<ul>#}
  299.             {#<li>Jusqu’à 50% de réduction sur notre catalogue de plus de 300 produits</li>#}
  300.             {#<li>Livraison gratuite illimitée le jour même sur créneau de 30 mn dans plus de 10 villes en France, et sous 48H maximum dans le reste de la France</li>#}
  301.             {#<li>Paiement automatique à 30 jours dès votre 2eme commande Sauvegarde de vos fichiers dans votre espace</li>#}
  302.             {#<li>Une plateforme tout en un pour vous et vos collaborateurs avec plus de 300 produits et 20 000 modèles à personnaliser</li>#}
  303.             {#<li>Abonnement sans engagement de durée, résiliable en 1 clic à tous moments</li>#}
  304.         {#</ul>#}
  305.     {#</div></div>#}