Header: add language switcher + home menu

This commit is contained in:
2026-04-26 00:41:05 +02:00
parent 8b38812a23
commit bd49f6be6e
3 changed files with 45 additions and 21 deletions

View File

@@ -1,29 +1,15 @@
{% load i18n mandelstudio_i18n %} {% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
<div class="header-right">
<form action="{% url 'set_language' %}" method="post" class="ms-lang-switcher me-2" aria-label="Language switcher">
{% csrf_token %}
<input name="next" type="hidden" value="{{ language_neutral_url_path|default:request.path|language_neutral_path }}">
<label for="header-language-switcher" class="visually-hidden">{% trans "Language" %}</label>
<select id="header-language-switcher" name="language" class="form-select form-select-sm" onchange="this.form.submit()">
<option value="nl" {% if LANGUAGE_CODE == 'nl' %}selected{% endif %}>NL</option>
<option value="en" {% if LANGUAGE_CODE == 'en' %}selected{% endif %}>EN</option>
<option value="de" {% if LANGUAGE_CODE == 'de' %}selected{% endif %}>DE</option>
<option value="fr" {% if LANGUAGE_CODE == 'fr' %}selected{% endif %}>FR</option>
<option value="es" {% if LANGUAGE_CODE == 'es' %}selected{% endif %}>ES</option>
<option value="it" {% if LANGUAGE_CODE == 'it' %}selected{% endif %}>IT</option>
<option value="pt" {% if LANGUAGE_CODE == 'pt' %}selected{% endif %}>PT</option>
<option value="ru" {% if LANGUAGE_CODE == 'ru' %}selected{% endif %}>RU</option>
</select>
</form>
<div class="header-right">
<a tabindex="0" aria-label="Open Search" role="search" class="search-toggler user-button menu-circle"> <a tabindex="0" aria-label="Open Search" role="search" class="search-toggler user-button menu-circle">
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</a> </a>
<a href="{% url 'customer:summary' %}" aria-label="{% trans 'Customer summary' %}" class="user-button menu-circle"><i class="fa fa-user-solid"></i></a> <a href="{% url 'customer:summary' %}" aria-label="{% trans 'Customer summary' %}" class="user-button menu-circle"><i class="fa fa-user-solid"></i></a>
{% include "oxyan/headers/partials/mini_basket.html" %} {% include 'oxyan/headers/partials/mini_basket.html' %}
{% include "oxyan/partials/language_chooser.html" %}
</div> </div>
<div class="alert-messages-header" aria-live="polite"> <div class="alert-messages-header" aria-live="polite">
{% include "oscar/partials/alert_messages.html" with messages=messages %} {% include "oscar/partials/alert_messages.html" with messages=messages %}
</div> </div>

View File

@@ -1,12 +1,15 @@
<!-- MB OVERRIDE --> <!-- MB OVERRIDE -->
{% load i18n static ocyanjson mandelstudio_i18n %} {% load i18n static ocyanjson mandelstudio_i18n %}
{% get_current_language as current_language %}
{% get_available_languages as available_languages %}
<div class="dropdown language-dropdown"> <div class="dropdown language-dropdown">
<button type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false"> <button type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false">
{% include "oxyan/partials/flags/"|add:LANGUAGE_CODE|add:".svg" %} {% include "oxyan/partials/flags/"|add:current_language|add:".svg" %}
</button> </button>
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1"> <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
{% get_language_info_list for languages as languages %} {% get_language_info_list for available_languages as languages %}
{% ocyanjson "i18n" "language_chooser_disabled_options" "" as disabled_languages %} {% ocyanjson "i18n" "language_chooser_disabled_options" "" as disabled_languages %}
<form action="{% url 'set_language' %}" method="post" class="language_form"> <form action="{% url 'set_language' %}" method="post" class="language_form">
{% csrf_token %} {% csrf_token %}

View File

@@ -0,0 +1,35 @@
{% load i18n ocyan_thumbnail oxyan %}
{# Carbasa dropdown override: include the root page when it is marked "show in menus". #}
{% rootpage_as_category as menu_root_proxy %}
{% if menu_root_proxy and menu_root_proxy.show_in_menus %}
<li class="nav-item child">
<a class="nav-link" href="{{ menu_root_proxy.get_absolute_url }}">
{{ menu_root_proxy.name }}
</a>
</li>
{% endif %}
{% if menu_items %}
{% for menu_item in menu_items %}
{% with category_icon=menu_item.category.icons.first %}
{% if menu_item.has_children %}
<li class="nav-item {% if menu_item.depth == 1 %}head{% else %}child{% endif %} dropdown pages-dropdown">
<a class="nav-link toggle" role="button" aria-haspopup="true" aria-expanded="false" tabindex="0">
{{ menu_item.name }}<i class="fa fa-chevron-down small ms-2"></i>
</a>
<ul class="{% if mega_menu %}megasubmenu{% else %}dropdown-menu{% endif %}">
{% else %}
<li class="nav-item child">
<a class="nav-link" href="{{ menu_item.get_absolute_url }}">
{{ menu_item.name }}
</a>
</li>
{% endif %}
{% for close in menu_item.num_to_close %}
</ul>
</li>
{% endfor %}
{% endwith %}
{% endfor %}
{% endif %}