themes/BootstrapTheme/templates/bundles/SyliusShopBundle/Product/Box/_content.html.twig line 1

Open in your IDE?
  1. {% import "@SyliusShop/Common/Macro/money.html.twig" as money %}
  2. {% if product %}
  3.     {% set variant = product|sylius_resolve_variant %}
  4.     {% set path_route = app.request.attributes.get('_route') %}
  5.     {% if variant is not null %}
  6.         {% set channelpricing = variant.getChannelPricingForChannel(sylius.channel) %}
  7.         {% set percentage =  channelpricing.getDiscountedPercentage %}
  8.     {% endif %}
  9.     <div class="articleBit h-100" {{ sylius_test_html_attribute('product') }}>
  10.         <div class="bg-art-w  h-100 d-flex flex-column">
  11.             <div class="articleBit-ima">
  12.                 <a href="{{ path('sylius_shop_product_show', {'slug': product.slug, '_locale': product.translation.locale}) }}" title="{{ product.name }}">
  13.                     {% include '@SyliusShop/Product/_mainImage.html.twig' with {'product': product, 'class': 'card-img-top'}  %}
  14.                 </a>
  15.                 {% if product.callouts is not null and product.callouts|length > 0 %}
  16.                     {% include "@SetonoSyliusCalloutPlugin/Shop/Product/Callout/_callouts.html.twig" with {'callouts' : product.callouts|setono_callouts} %}
  17.                 {% endif %}
  18.                 {% if variant is not null %}
  19.                     {% if channelpricing.originalPrice > channelpricing.price  %}
  20.                         <div class="picto-promo">
  21.                             <strong>
  22.                                 <span data-js-product-percentage >
  23.                                     -{{ percentage|round(0) }}%
  24.                                 </span>
  25.                             </strong>
  26.                         </div>
  27.                     {% endif %}
  28.                 {% endif %}
  29.                 {% include '@Brille24SyliusTierPricePlugin/Shop/Product/Show/_tier_price_promoBis.html.twig' %}
  30.                 <a href="{{ path('sylius_shop_product_show', {'slug': product.slug, '_locale': product.translation.locale}) }}" class="btn-link-hover hover-opacity-0"><div class="d-flex align-items-center justify-content-center h-100"><span class="btn-link transition-bgcolor minw-sm">{{'app.homepage.discover'|trans}}</span></div></a>
  31.             </div>
  32.             <div class="flex-grow-l position-relative h-100 d-flex flex-column">
  33.                 <div class="max-art flex-grow-l">
  34.                     <h3 class="articleBit-lib"  {{ sylius_test_html_attribute('product-name', product.name) }}><a href="{{ path('sylius_shop_product_show', {'slug': product.slug, '_locale': product.translation.locale}) }}">{{ product.name }}</a></h3>
  35.                 </div>
  36.                 <div class="row no-gutters justify-content-between pb-md-3 py-2 align-items-end mt-md-1">
  37.                     <div class="articleBit-price col">
  38.                         {% set context = {"channel": sylius.channel} %}
  39.                         {% if not product.variants.empty() %}
  40.                             {% if product|sylius_resolve_variant %}
  41.                                 <strong class="price-promo"  {{ sylius_test_html_attribute('product-price') }}> {{ money.calculatePriceWithTax(product|sylius_resolve_variant, context) }} </strong>
  42.                                 <span class="price-old" data-js-product-original-price   {{ sylius_test_html_attribute('product-price', money.calculatePrice(product|sylius_resolve_variant)) }}>
  43.                                     {% set variant = product|sylius_resolve_variant %}
  44.                                     {% set channelpricing = variant.getChannelPricingForChannel(sylius.channel) %}
  45.                                     {% if channelpricing.originalPrice > channelpricing.price  %}
  46.                                         {{ money.calculateOriginalPriceWithTax(product|sylius_resolve_variant, context) }}
  47.                                     {% endif %}
  48.                                     </span>
  49.                                 {% endif %}
  50.                         {% endif %}
  51.                     </div>
  52.                     <div class="articleBit-state col-auto">
  53.                         {% if not sylius_inventory_is_available(product.variants.first) and app_count_available_variants(product) < 1 %}
  54.                             <div class="color-red hover-opacity-0"><i class="icon-cancel"></i> {{'app.product.not_available'|trans}}</div>
  55.                         {% else %}
  56.                             <div class="ok-state hover-opacity-0">{{'app.product.available'|trans}}</div>
  57.                         {% endif %}
  58.                     </div>
  59.                 </div>
  60.                 {% for option in product.options if option.code == "couleur" %}
  61.                     <div class="articleBit-caract-color hover-opacity-0">
  62.                         <div class="row no-gutters align-items-center ">
  63.                             {% for value in option.values %}
  64.                                 {% if value.filePath %}
  65.                                     <div class="mb-1 mr-1"><a href="#" class="color-caract-bg"><img src="{{asset(value.filePath)}}"></a></div>
  66.                                 {% endif %}
  67.                             {% endfor %}
  68.                         </div>
  69.                     </div>
  70.                 {% endfor %}
  71.             </div>
  72.         </div>
  73.     </div>
  74. {% endif %}