themes/BootstrapChildTheme/SyliusShopBundle/views/Product/Show/_addToCart.html.twig line 1

Open in your IDE?
  1. {% set product = order_item.variant.product %}
  2. {% form_theme form '@SyliusShop/Form/theme.html.twig' %}
  3. {% import '@SyliusUi/Macro/flags.html.twig' as flag %}
  4. <div class="ui segment" id="sylius-product-selecting-variant" {{ sylius_test_html_attribute('product-selecting-variant') }}>
  5.     {{ sylius_template_event('sylius.shop.product.show.before_add_to_cart', {'product': product, 'order_item': order_item}) }}
  6.     {{ form_start(form, {'action': path('sylius_shop_ajax_cart_add_item', {'productId': product.id}), 'attr': {'id': 'sylius-product-adding-to-cart', 'class': 'ui loadable form', 'novalidate': 'novalidate', 'data-redirect': path(configuration.getRedirectRoute('summary'))}}) }}
  7.     {{ form_errors(form) }}
  8.     <div class="ui red label bottom pointing hidden sylius-validation-error" id="sylius-cart-validation-error" {{ sylius_test_html_attribute('cart-validation-error') }}></div>
  9.     {% if not product.simple %}
  10.         {% if product.variantSelectionMethodChoice %}
  11.             {% include '@SyliusShop/Product/Show/_variants.html.twig' %}
  12.         {% else %}
  13.             {% include '@SyliusShop/Product/Show/_options.html.twig' %}
  14.         {% endif %}
  15.     {% endif %}
  16.     {{ form_row(form.cartItem.quantity, sylius_test_form_attribute('quantity')) }}
  17.     {{ sylius_template_event('sylius.shop.product.show.add_to_cart_form', {'product': product, 'order_item': order_item, 'form': form}) }}
  18.     {% set taxon = product.mainTaxon %}
  19.     {% set showPrice = true %}
  20.     {% set taxonsToAvoid = ['subscription-packs', 'welcome-packs', 'default-packs'] %}
  21.     {% for taxonToAvoid in taxonsToAvoid %}
  22.         {% if taxonToAvoid in taxon.slug %}
  23.             {% set showPrice = false %}
  24.         {% endif %}
  25.     {% endfor %}
  26.     {% if showPrice == true %}
  27.         <div class="row">
  28.             <div class="col-4 col-md-6 col-lg-4 product-price" {{ sylius_test_html_attribute('product-price-content') }}>
  29.                 {% if not product.enabledVariants.empty() %}
  30.                     {% include '@SyliusShop/Product/Show/_price.html.twig' %}
  31.                 {% endif %}
  32.             </div>
  33.             {% if product.offeredOnly %}
  34.                 <div class="col-8 col-md-6 col-lg-6 font-blue font-weight-bold">{{ 'app.ui.offered_only_label'|trans }}</div>
  35.             {% elseif is_product_owned(product) is empty %}
  36.                 <div class="col-8 col-md-6 col-lg-6 fixed-add-to-cart"> <button type="submit" class="ui huge primary icon labeled button" {{ sylius_test_html_attribute('add-to-cart-button') }}>{{ 'sylius.ui.add_to_cart'|trans }}</button> </div>
  37.                 {% if product.mainTaxon is not null %}
  38.                     {% set taxon = product.mainTaxon %}
  39.                     {% if taxon.enabled %}
  40.                         {% if taxon.code in ['storyteller', 'headphones', 'satchel'] %}
  41.                             <div class="col-lg-10">
  42.                                 {% set promotions = get_promotions_text(product) %}
  43.                                 {% for promotion in promotions %}
  44.                                     <div class="product-frame red font-white font-weight-bold">
  45.                                         <div class="text-uppercase">
  46.                                             {% if promotion.name is defined %}
  47.                                                 {{ promotion.name }}
  48.                                             {% else %}
  49.                                                 {{ promotion.label }}
  50.                                             {% endif %}
  51.                                         </div>
  52.                                         <div>{{ promotion.description }}</div>
  53.                                     </div>
  54.                                 {% endfor %}
  55.                                 <div class="product-frame yellow font-blue text-uppercase font-weight-bold">
  56.                                     {{'sylius.pages.content.freeDeliveryFrance.title'|trans|raw }}
  57.                                 </div>
  58.                                 <div class="product-frame font-blue" style="text-transform:none;font-weight:700">
  59.                                     {{'sylius.pages.content.freeDeliveryFrance.france'|trans|raw }} {{ flag.fromCountryCode('fr') }}
  60.                                     {{'sylius.pages.content.freeDeliveryFrance.belgium'|trans|raw }} {{ flag.fromCountryCode('be') }}
  61.                                     {{'sylius.pages.content.freeDeliveryFrance.luxembourg'|trans|raw }} {{ flag.fromCountryCode('lu') }}
  62.                                 </div>
  63.                             </div>
  64.                         {% endif %}
  65.                     {% endif %}
  66.                 {% endif %}
  67.             {% endif %}
  68.         </div>
  69.         {% for offered_product in offered_products_for(product) %}
  70.             <div class="product-frame yellow font-blue text-left">
  71.                 <a href="{{ path('sylius_shop_product_show', {'slug': offered_product.slug}) }}" class="d-flex align-items-center">
  72.                     <div class="mr-3" style="width: 60px">
  73.                         {% include '@SyliusShop/Product/_mainImage.html.twig' with {'product': offered_product, 'filter': 'sylius_shop_product_tiny_thumbnail'} %}
  74.                     </div>
  75.                     <div>
  76.                         <div class="font-weight-bold">{{ 'app.ui.offered_with_this_product'|trans({'%product%': offered_product.name}) }}</div>
  77.                         {% if is_product_owned(offered_product) %}
  78.                             <div>{{ 'app.ui.offered_product_owned_notice'|trans }}</div>
  79.                         {% endif %}
  80.                     </div>
  81.                 </a>
  82.             </div>
  83.         {% endfor %}
  84.         {% for offering_product in products_offering(product) %}
  85.             <div class="product-frame yellow font-blue text-left">
  86.                 <a href="{{ path('sylius_shop_product_show', {'slug': offering_product.slug}) }}" class="d-flex align-items-center">
  87.                     <div class="mr-3" style="width: 60px">
  88.                         {% include '@SyliusShop/Product/_mainImage.html.twig' with {'product': offering_product, 'filter': 'sylius_shop_product_tiny_thumbnail'} %}
  89.                     </div>
  90.                     <div class="font-weight-bold">{{ 'app.ui.offered_with_product'|trans({'%product%': offering_product.name}) }}</div>
  91.                 </a>
  92.             </div>
  93.         {% endfor %}
  94.     {% endif %}
  95.     {{ form_row(form._token) }}
  96.     {{ form_end(form, {'render_rest': false}) }}
  97. </div>