Newer
Older
/**
* @file
* Default theme implementation for a commerce_product_availability element.
*
* Available variables
* - langcode (string): The langcode of the field item.
* - orderable (boolean): A flag indicating whether the product is orderable.

Joshua Sedler
committed
* - availability_indicator (string): The availability indicator color string.
* - availability_status (string): The availability status machine name of the
* product.
* - availability_status_label (string): The availability status label of the
* product.
* - availability_date (date_iso string): The availability date of the product.
* - min_delivery_period (string): The minimum delivery period of the product.
* - max_delivery_period (string): The maximum delivery period of the product.
*
* @see template_preprocess_time()
* @see http://www.w3.org/TR/html5-author/the-time-element.html#attr-time-datetime
*/

Julian Pustkuchen
committed
{% set attributes = create_attribute() %}
{% set classes = [

Thomas Frobieter
committed
'product-availability',
availability_status ? ('product-availability--' ~ availability_indicator)|clean_class,

Julian Pustkuchen
committed
] %}
{% set delivery_time_label %}
{% block delivery_time_label %}

Thomas Frobieter
committed
<strong class="product-availability__delivery-time-label">{{ 'Estimated delivery'|t ~ ': ' }}</strong>

Julian Pustkuchen
committed
{% endblock delivery_time_label %}
{% endset %}
{% block status_outer %}
<div{{ attributes.addClass(classes) }}>
{% if availability_status %}
{% block availability_status %}

Thomas Frobieter
committed
<div class="product-availability__availability-status">
<strong class="product-availability__availability-status-label">{{ 'Stock status'|t ~ ': ' }}</strong>
<span class="product-availability__availability-status-value">

Julian Pustkuchen
committed
{% if availability_indicator %}

Thomas Frobieter
committed
<span class="product-availability__availability-status-icon product-availability__availability-status-icon--{{ availability_indicator|clean_class }}">⛟</span>

Julian Pustkuchen
committed
{% endif %}

Thomas Frobieter
committed
<span class="product-availability__availability-status-string">{{ availability_status_label }}</span>

Julian Pustkuchen
committed
</span>
</div>
{% endblock availability_status %}
{% endif %}
{% if availability_date %}
{% block availability_date %}

Thomas Frobieter
committed
<div class="product-availability__availability-date">
<strong class="product-availability__availability-date-label">{{ 'Available on'|t ~ ': ' }}</strong>
<time{{ attributes.addClass('product-availability__availability-date-value') }}>{{ availability_date }}</time>

Julian Pustkuchen
committed
</div>
{% endblock availability_date %}
{% endif %}
{% block delivery_period %}
{% if min_delivery_period and max_delivery_period %}
{# Show as timespan #}
{% block delivery_period_timespan %}

Thomas Frobieter
committed
<div class="product-availability__delivery-time product-availability__delivery-time--timespan">

Julian Pustkuchen
committed
{{ delivery_time_label }}

Thomas Frobieter
committed
<div class="product-availability__delivery-time-value">
<span class="product-availability__delivery-time-min">{{- min_delivery_period -}}</span>-<span class="product-availability__delivery-time-max">{{- max_delivery_period -}}</span><span class="product-availability__delivery-time-suffix"> {{ 'days'|t }}</span>

Julian Pustkuchen
committed
</div>
</div>
{% endblock delivery_period_timespan %}
{% else %}
{% if min_delivery_period %}
{% block delivery_period_min %}

Thomas Frobieter
committed
<div class="product-availability__delivery-time product-availability__delivery-time--min">

Julian Pustkuchen
committed
{{ delivery_time_label }}

Thomas Frobieter
committed
<div class="product-availability__delivery-time-value">

Julian Pustkuchen
committed
{{ min_delivery_period }} {{ 'days'|t }}
</div>
</div>
{% endblock delivery_period_min %}
{% endif %}
{% if max_delivery_period %}
{% block delivery_period_max %}

Thomas Frobieter
committed
<div class="product-availability__delivery-time product-availability__delivery-time--max">

Julian Pustkuchen
committed
{{ delivery_time_label }}

Thomas Frobieter
committed
<div class="product-availability__delivery-time-value">

Julian Pustkuchen
committed
{{ max_delivery_period }} {{ 'days'|t }}
</div>
</div>
{% endblock delivery_period_max %}
{% endif %}
{% endif %}
{% endblock delivery_period %}

Joshua Sedler
committed
</div>

Julian Pustkuchen
committed
{% endblock status_outer %}