{% set productTranslation = product.translation(shop.currentLocale) %}
{{ component('flash_messages') }} {{ form_start(form) }}

{{ productTranslation.name }}

{% if product.productDefaultVariant.priceWithExtra %} {{ 'price'|translate }}: {{ product.productDefaultVariant.priceWithExtra|money }} {% else %} {{ 'price'|translate }}: {{ 'free'|translate }} {% endif %} {% if product.productDefaultVariant.unit %}  / {{ product.productDefaultVariant.unit.translation(shop.currentLocale).name }} {% endif %}
{% if product.code %}
{{ 'product_code'|translate }}:
{{ product.code }}
{% endif %} {% if productTranslation.tax %}
{{ 'tax'|translate }}:
{{ productTranslation.tax.taxValue }} %
{% endif %} {% if product.productDefaultVariant.inStock %}
{{ 'in_stock'|translate }}:
{% set inStockText = product.productDefaultVariant.inStock %} {% if product.productDefaultVariant.unit %} {% set inStockText = inStockText ~ ' ' ~ product.productDefaultVariant.unit.translation(shop.currentLocale).name %} {% endif %} {{ inStockText|raw }}
{% endif %} {% if product.productParameters|length %} {% for productParameter in product.productParameters %}
{{ productParameter.parameterValue.parameter.translation(shop.currentLocale).name }}:
{{ productParameter.parameterValue.translation(shop.currentLocale).name }}
{% endfor %} {% endif %} {% if productTranslation.shortDescription %}
{% endif %}
{% if product.productVariants.count > 1 %}
{{ render(controller('App\\Controller\\Shop\\VariantController::renderVariants', { product: product })) }}
{% endif %}
{{ _self.showQuantityPicker(product.productDefaultVariant, form) }}
{% if product.toSell %} {% else %} {% endif %}
{{ form_end(form) }}
{% macro showQuantityPicker(defaultVariant, form) %}
{{ form_widget(form.quantity) }}
{% if defaultVariant.unit %} {{ defaultVariant.unit.translation(shop.currentLocale).name }} {% endif %}
{% endmacro %}