bootstrap_italia-8.x-0.x-dev/templates/region/header-slim-language/links--language-block.html.twig
templates/region/header-slim-language/links--language-block.html.twig
{#
/**
* @file
* Default theme implementation for a set of links.
*
* Available variables:
* - attributes: Attributes for the UL containing the list of links.
* - links: Links to be output.
* Each link will have the following elements:
* - link: (optional) A render array that returns a link. See
* template_preprocess_links() for details how it is generated.
* - text: The link text.
* - attributes: HTML attributes for the list item element.
* - text_attributes: (optional) HTML attributes for the span element if no
* 'url' was supplied.
* - heading: (optional) A heading to precede the links.
* - text: The heading text.
* - level: The heading level (e.g. 'h2', 'h3').
* - attributes: (optional) A keyed list of attributes for the heading.
* If the heading is a string, it will be used as the text of the heading and
* the level will default to 'h2'.
*
* Headings should be used on navigation menus and any list of links that
* consistently appears on multiple pages. To make the heading invisible use
* the 'visually-hidden' CSS class. Do not use 'display:none', which
* removes it from screen readers and assistive technology. Headings allow
* screen reader and keyboard only users to navigate to or skip the links.
* See http://juicystudio.com/article/screen-readers-display-none.php and
* http://www.w3.org/TR/WCAG-TECHS/H42.html for more information.
*
* @see template_preprocess_links()
*
* @ingroup themeable
*/
#}
{% apply spaceless %}
{% if links -%}
{%- if heading -%}
{%- if heading.level -%}
<{{ heading.level }}{{ heading.attributes }}>{{ heading.text }}</{{ heading.level }}>
{%- else -%}
<h2{{ heading.attributes }}>{{ heading.text }}</h2>
{%- endif -%}
{%- endif -%}
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-pressed="false" aria-expanded="false" aria-controls="languages-menu" aria-haspopup="true" data-focus-mouse="false" tabindex="0" role="button">
<span class="visually-hidden-focusable">{{ 'Language switcher'|t }}: {{ 'current language' }}</span>
<span>{{ current_language }}</span>
{% include '@bi-bcl/icon/icon.html.twig' with {
name: 'it-expand'
} %}
</a>
<div id="languages-menu" class="dropdown-menu">
<div class="row">
<div class="col-12">
<div class="link-list-wrapper">
<ul{{ attributes.addClass('link-list') }}>
{%- for key, item in links -%}
<li>
{% set _current = key == current_language ? true : false %}
{%- if item.link -%}
{% set _item_attributes = item.attributes
.addClass(['dropdown-item', 'list-item', _current ? 'active'])
.setAttribute(
'title',
_current ? 'Current language'|t : 'Switch to @languageName language'|t({'@languageName': item.link['#title']})
)
%}
<a
href="{{ path(item.link['#url'].getRouteName(), item.link['#url'].getRouteParameters(), item.link['#options']) }}"
{{ _item_attributes }}
>
<span>
{{ item.link['#title'] }}
{% if _current %}
<span class="visually-hidden">({{ 'Current language'|t }})</span>
{% endif %}
</span>
</a>
{%- elseif item.text_attributes -%}
<span{{ item.text_attributes }}>{{ item.text }}</span>
{%- else -%}
{{ item.text }}
{%- endif -%}
</li>
{%- endfor -%}
</ul>
</div>
</div>
</div>
</div>
</div>
{%- endif %}
{% endapply %}
