bs_base-8.x-1.x-dev/templates/navigation/links--dropdown-language-block.html.twig
templates/navigation/links--dropdown-language-block.html.twig
{#
/**
* @file
* Theme override 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:
* - title: The link text.
* - href: The link URL. If omitted, the 'title' is shown as a plain text
* item in the links list. If 'href' is supplied, the entire link is passed
* to l() as its $options parameter.
* - attributes: (optional) HTML attributes for the anchor, or for the <span>
* tag if no 'href' is 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()
*/
#}
{% set classes = classes|default(['dropdown', 'dropdown-language']) %}
{% set id = 'languageDropdownMenu'|clean_unique_id %}
{% set button_attributes = create_attribute({
'aria-controls': 'menu',
'aria-haspopup': 'true',
'aria-label': 'Change website language (current %language)'|t({'%language': active_language_name}, {}),
'aria-expanded': 'false',
'class': ['btn', 'btn-secondary', 'dropdown-toggle'],
'id': id,
'data-bs-toggle': 'dropdown',
'title': 'Change website language'|t,
'type': 'button',
}) %}
{% set dropdown_menu_attributes = create_attribute({
'aria-labelledby': id,
'class': ['dropdown-menu', 'dropdown-menu-end'],
'role': 'menu',
}) %}
{% block dropdown -%}
<div{{ attributes.addClass(classes) }}>
{%- block button -%}
<button{{ button_attributes }}><span class="dropdown-language__icon"></span>{{ active_language_name }}</button>
{%- endblock -%}
{%- block menu -%}
{%- if links -%}
<ul {{ dropdown_menu_attributes }}>
<div class="dropdown-header">{{ 'Language'|t }}</div>
{%- for item in links -%}
{%- if item.link -%}
<li>{{ item.link }}</li>
{%- elseif item.text_attributes -%}
<li><span{{ item.text_attriutes.addClass('dropdown-item') }}>{{ item.text }}</span></li>
{%- else -%}
{{ item.text }}
{%- endif -%}
{%- endfor -%}
</ul>
{%- endif -%}
{%- endblock -%}
</div>
{%- endblock %}
