templates/bundles/SyliusShopBundle/Cart/summary.html.twig line 1

Open in your IDE?
  1. {% extends '@SyliusShop/layout.html.twig' %}
  2. {% block banner %}
  3.     {{ render(url('odiseo_sylius_banner_plugin_shop_partial_banner', {'template': '@SyliusShop/Banner/banner1.html.twig'})) }}
  4. {% endblock %}
  5. {% form_theme form '@SyliusShop/Form/theme.html.twig' %}
  6. {% import '@SyliusUi/Macro/messages.html.twig' as messages %}
  7. {% block title %}
  8.     {{ 'sylius.ui.votrepanier'|trans }}
  9.     |
  10.     {{ parent() }}
  11. {% endblock %}
  12. {% block content %}
  13.     {% block breadcrumb %}
  14.         <div class="ui breadcrumb">
  15.             <a href="{{ path('sylius_shop_homepage') }}" class="section"><i class="fas fa-home"></i><strong>Mons Fromages</strong></a>
  16.             <div class="divider"> / </div>
  17.             <a href="{{ path('sylius_shop_account_dashboard') }}" class="section">{{ 'sylius.ui.votrepanier'|trans }}</a>
  18.         </div>
  19.     {% endblock %}
  20.     <div class="cart">
  21.         <h1 class="page__title">
  22.             <span class="page__tagline">
  23.                 {{ "sylius.ui.boutiqueenligne"|trans }}
  24.             </span>
  25.             {{ "sylius.ui.votrepanier"|trans }}
  26.         </h1>
  27.         {{ sylius_template_event(['sylius.shop.checkout.address.steps', 'sylius.shop.checkout.steps'], _context) }}
  28.         {% include '@SyliusShop/_flashes.html.twig' %}
  29.         {% if not cart.empty %}
  30.             {% if fidelium_his_activate  %}
  31.             <div id="fidelium_cart">
  32.                 {% if is_logged_in is defined and not is_logged_in %}
  33.                     <form class="message info" id="fideliumform">
  34.                         <div>
  35.                             <i class="fas fa-info-circle"></i>{{ 'sylius.ui.seconnecterfidelium2'|trans }}</div>
  36.                         <a href="{{ path('sylius_shop_login') }}?destination=cart" class="button button--tertiary button--small" >{{ "sylius.ui.seconnecter"|trans }}</a>
  37.                     </form>
  38.                 {% elseif fideliumCard is defined and fideliumCard %}
  39.                     <form class="message info" id="fideliumform">
  40.                         <div>
  41.                             <i class="fas fa-info-circle"></i>
  42.                             {{ 'sylius.fidelium.cumulfidelium'|trans({'%points%': fideliumCard.nPoints}) |raw }}
  43.                         </div>
  44.                         <div class="cart__form-fidelium">
  45.                             <select name="fideliumpoints" id="fideliumpoints" class="tiny-select cart__select-fidelium">
  46.                                 <option value="">{{ "sylius.fidelium.selectionnermontant"|trans }}</option>
  47.                                 {% for option in listBoxFidelium %}
  48.                                     {% if option.points < cart.getTotalWithOutAdjustments() %}
  49.                                     <option value="{{ option.points }}"
  50.                                         {% if option.points == orderpoint %} SELECTED {% endif %} >
  51.                                         {{ 'sylius.fidelium.pointsutilises'|trans({'%points%':  option.points}) }}
  52.                                         (-{{ option.label }})
  53.                                     </option>
  54.                                     {% endif %}
  55.                                 {% endfor %}
  56.                             </select>
  57.                             <input type="submit" value="{{ 'sylius.cart.valider'|trans }}" class="button button--tertiary button--small"/>
  58.                         </div>
  59.                     </form>
  60.                 <!-- le user n'est pas connecté-->
  61.                 {% else %}
  62.                     <!-- le user est connecté mais n'a pas activé sa carte-->
  63.                     <form class="message info" id="fideliumform">
  64.                         <div>
  65.                             <i class="fas fa-info-circle"></i>
  66.                             {{ 'sylius.ui.veuillezactiverfidelium'|trans }}
  67.                         </div>
  68.                         <a href="{{ path('fidelium_register') }}?destination=cart" class="button button--tertiary button--small">{{ 'sylius.fidelium.activerfidelium'|trans }}</a>
  69.                     </form>
  70.                 {% endif %}
  71.             </div>
  72.             {% endif %}
  73.             <div class="ui stackable grid">
  74.                 <div class="wide column cart__products">
  75.                     <div>
  76.                         {{ form_start(form, {'action': path('sylius_shop_cart_save'), 'attr': {'class': 'ui loadable form', 'novalidate': 'novalidate', 'id': form.vars.id}}) }}
  77.                         {{ form_errors(form) }}
  78.                         <input type="hidden" name="_method" value="PATCH"/>
  79.                         <input type="hidden" id="fidelium" name="fidelium" value=""/>
  80.                         <input type="hidden" id="fideliumupdate" name="fideliumupdate" value=""/>
  81.                         {{ form_row(form._token) }}
  82.                         {{ form_end(form, {'render_rest': false}) }}
  83.                         {{ sylius_template_event('sylius.shop.cart.summary.items', {'cart': cart, 'form': form}) }}
  84.                         <table id="sylius-cart-items" {{ sylius_test_html_attribute('cart-items') }} class="ui very basic celled table">
  85.                             <thead>
  86.                                 <tr>
  87.                                     <th class="cart__table-delete" width="25" style="padding: 0 10px !important"></th>
  88.                                     <th >{{ 'sylius.cart.produits'|trans }}</th>
  89.                                     <th class="center aligned">{{ 'sylius.cart.prixttc'|trans }}</th>
  90.                                     <th class="center aligned cart__table-qty">{{ 'sylius.ui.qty'|trans }}</th>
  91.                                     <th class="right aligned">{{ 'sylius.cart.soustotal'|trans }}</th>
  92.                                 </tr>
  93.                             </thead>
  94.                             <tbody>
  95.                                 {% for key, item in cart.items %}
  96.                                     {% include '@SyliusShop/Cart/Summary/_item.html.twig' with { 'item': item, 'form': form.items[key], 'main_form': form.vars.id, 'loop_index': loop.index} %}
  97.                                 {% endfor %}
  98.                             </tbody>
  99.                         </table>
  100.                         <div class="ui hidden divider"></div>
  101.                         {# include '@SyliusShop/Cart/Summary/_update.html.twig' with {'main_form': form.vars.id} #}
  102.                     </div>
  103.                 </div>
  104.             </div>
  105.             <div class="cart__columns">
  106.                 <div class="cart-promotion">
  107.                     {% if form.promotionCoupon is defined %}
  108.                         <h4 class="dark-header"><i class="fas fa-certificate"></i>{{ 'sylius.ui.codepromotitre'|trans }}</h4>
  109.                         <div class="cart-promotion__content">
  110.                             <p class="cart-promotion__text">{{ 'sylius.ui.codepromotexte'|trans }}</p>
  111.                             {% set main_form = form.vars.id %}
  112.                             <div id="sylius-coupon" {{ sylius_test_html_attribute('cart-promotion-coupon') }}>
  113.                                 <div class="cart-promotion__form">
  114.                                     {{ form_widget(form.promotionCoupon, sylius_test_form_attribute('cart-promotion-coupon-input')|sylius_merge_recursive({'attr': {'form': main_form, 'placeholder': 'sylius.ui.enter_your_code'|trans~'...'}})) }}
  115.                                     <button type="submit" id="sylius-save" {{ sylius_test_html_attribute('apply-coupon-button') }} class="button button--secondary button--medium" form="{{ main_form }}">
  116.                                         {{ 'sylius.ui.apply_coupon'|trans }}</button>
  117.                                 </div>
  118.                                 <br>
  119.                                 {{ form_errors(form.promotionCoupon) }}
  120.                             </div>
  121.                         </div>
  122.                     {% endif %}
  123.                 </div>
  124.                 {{ sylius_template_event('sylius.shop.cart.summary', {'cart': cart}) }}
  125.             </div>
  126.             <br />
  127.             <div class="field">
  128.                 <div class="ui toggle">
  129.                     <input type="checkbox" id="cgv-checkbox" name="cgv-checkbox">
  130.                     <label for="cgv-checkbox">
  131.                         J'accepte les <a href="{{ path('bitbag_sylius_cms_plugin_shop_page_show', {slug: 'conditions-generales-de-vente'}) }}" target="_blank" style="text-decoration: underline;">conditions générales de vente</a> du site
  132.                     </label>
  133.                     <br>
  134.                     <div class="ui red pointing label sylius-validation-error" id="cgv-checkbox-error" style="display: none;">
  135.                         Veuillez valider les CGV pour continuer.
  136.                     </div>
  137.                 </div>
  138.             </div>
  139.             <div class="cart__buttons-actions">
  140.                 <a href="{{ path('app_shop_product_search') }}" class="button button--outline">
  141.                     <i class="fas fa-arrow-left"></i>
  142.                     {{ 'sylius.ui.poursuivre'|trans }}</a>
  143.                 <a href="{{ path('sylius_shop_checkout_start') }}" class="button button--secondary" id="confirm-command-btn">
  144.                     <i class="check icon"></i>
  145.                     {{ 'sylius.ui.checkout'|trans}}</a>
  146.             </div>
  147.             {% if fidelium_his_activate %}
  148.             <div class="fideliumtxt inline-content-shadow">
  149.                 <div>
  150.                     <h3 class="margin-bottom-0 font-primary"><strong>{{ 'sylius.fidelium.gagnerfidelium'|trans|raw  }} </strong></h3>
  151.                     <i class="text-small">{{ 'sylius.fidelium.demanderfidelium'|trans  }}</i>
  152.                 </div>
  153.                 <div>{{ 'sylius.fidelium.cumulerfidelium'|trans|raw  }}</div>
  154.                 {% if  is_logged_in is defined and  not is_logged_in %}
  155.                     <a href="{{ path('sylius_shop_login') }}?destination=cart" class="button button--outline">
  156.                         {{ "sylius.ui.seconnecter"|trans }}
  157.                     </a>
  158.                 {% elseif fideliumCard is defined and fideliumCard == false %}
  159.                     <a href="{{ path('fidelium_register') }}?destination=cart" class="button button--outline">
  160.                         {{ 'sylius.fidelium.activerfidelium'|trans  }}
  161.                     </a>
  162.                 {% endif %}
  163.             </div>
  164.             {% endif  %}
  165.             <div id="notre-histoire-bottom" class="citation">
  166.                 <div class="container">
  167.                     <p>« {{ 'sylius.textfooter.commandez'|trans  }} »</p>
  168.                     <a class="button button--secondary button--medium" href="{{ path('app_shop_product_search') }}">{{ 'sylius.textfooter.decouvrez'|trans  }}</a>
  169.                 </div>
  170.             </div>
  171.         {% else %}
  172.             {{ messages.info('sylius.ui.your_cart_is_empty') }}
  173.         {% endif %}
  174.     </div>
  175. {% endblock %}
  176. {% block javascripts %}
  177.     {{ parent() }}
  178.     <script type="text/javascript">
  179.     $('#fideliumform').on('submit', function(e) {
  180.         e.preventDefault();
  181.         $('#fidelium').val($('#fideliumpoints').val());
  182.         $('#fideliumupdate').val("1");
  183.         $('#sylius_cart').submit();
  184.     });
  185.     $('.sylius-quantity input').on('change', function() {
  186.         $('#sylius_cart').submit();
  187.     });
  188.     $('.line.trash form').on('submit', function(e) {
  189.         e.preventDefault();
  190.         var form = this;
  191.         $('.ui.modal.cart') .modal({
  192.             closable  : false,
  193.             onApprove : function() {
  194.                 form.submit();
  195.             }
  196.         }).modal('show');
  197.         return false;
  198.     });
  199.     $('#confirm-command-btn').click((e) => {
  200.         if (!$('#cgv-checkbox').is(':checked')) {
  201.             e.preventDefault();
  202.             $('#cgv-checkbox-error').show();
  203.         }
  204.     })
  205.     </script>
  206. {% endblock %}