<link rel="canonical" href="{{ url(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}"/>
{% set currentRoute = app.request.attributes.get('_route') %}
{% set currentLocale = app.request.locale %}
{% set isHrefLangRendered = false %}
{% for code in generate_available_locales_codes() %}
{% set path = null %}
{% set shouldRender = false %}
{% if resource.slug is defined %}
{% set slug = app_slug_by_locale(resource, code) %}
{% if slug %}
{% set path = url(currentRoute, {'slug': slug, '_locale': code}) %}
{% set shouldRender = true %}
{% endif %}
{% elseif 'bitbag_sylius_elasticsearch_plugin_shop_list_products' == currentRoute and taxon.slug is defined %}
{% set translation = taxon.getTranslation(currentLocale) %}
{% set slug = app_taxon_by_locale(translation.slug, code) %}
{% if slug %}
{% set path = url(currentRoute, {'_locale': code, 'slug': slug}) %}
{% set shouldRender = true %}
{% endif %}
{% endif %}
{% if code == currentLocale or currentRoute == 'open_marketplace_shop_vendor_page_index' %}
{% set shouldRender = true %}
{% if not path %}
{% set path = url(currentRoute, app.request.attributes.get('_route_params')|merge({'_locale': code})) %}
{% endif %}
{% endif %}
{% if shouldRender and path %}
<link rel="alternate" hreflang="{{ code }}" href="{{ path }}"/>
{% set isHrefLangRendered = true %}
{% endif %}
{% endfor %}
{% if not isHrefLangRendered %}
{% set defaultLocalePath = url('sylius_shop_homepage', {'_locale': currentLocale}) %}
<link rel="alternate" hreflang="{{ currentLocale }}" href="{{ defaultLocalePath }}"/>
{% endif %}