{% set lang = app.request.locale %}
{% set defaultId = lang == 'de' ? 21 : 626 %}
{# get root node if there is no document defined (for pages which are routed directly through static route) #}
{% if not document is defined or not document %}
{% set document = pimcore_document(defaultId) %}
{% endif %}
{# get the document which should be used to start in navigation | default home #}
{% set navStartNode = document.getProperty('navigationRoot') %}
{% if not navStartNode %}
{% if lang == 'de' %}
{% set navStartNode = document.getProperty('navigationRootDe') %}
{% else %}
{% set navStartNode = document.getProperty('navigationRootEn') %}
{% endif %}
{% endif %}
{#{% if not navStartNode is instanceof('\\Pimcore\\Model\\Document\\Page') %} #}
{# {% set navStartNode = pimcore_document(defaultId) %} #}
{#{% endif %} #}
{% set mainNavigation = pimcore_build_nav({
active: document,
root: navStartNode
}) %}
{% set alternateLanguagePath = document.getProperty('alternateLanguagePath') %}
{% if alternateLanguagePath %}
{% set urlPath = alternateLanguagePath.getFullPath() %}
{% if lang == 'de' %}
{% set mainNavigation = mainNavigation.addPage({order: -1, label: "De", title:"De", uri: app.request.requestUri(), class: "custom-slection-lang-de" }) %}
{% set mainNavigation = mainNavigation.addPage({order: -1, label: "En", title:"En", uri: urlPath, class: "custom-slection-lang-en" }) %}
{% else %}
{% set mainNavigation = mainNavigation.addPage({order: -1, label: "De", title:"De", uri: urlPath, class: "custom-slection-lang-de" }) %}
{% set mainNavigation = mainNavigation.addPage({order: -1, label: "En", title:"En", uri: app.request.requestUri(), class: "custom-slection-lang-en" }) %}
{% endif %}
{% else %}
{% set url = app.request.requestUri() | replace({'/en/': '/', '/de/': '/'}) %}
{% if url == '/en' %}
{% set url = '/' %}
{% endif %}
{% set mainNavigation = mainNavigation.addPage({order: -1, label: "De", title:"De", uri: url, class: "custom-slection-lang-de" }) %}
{% set mainNavigation = mainNavigation.addPage({order: -1, label: "En", title:"En", uri: "/en" ~ url, class: "custom-slection-lang-en" }) %}
{% endif %}
{# later you can render the navigation #}
{{ pimcore_render_nav(mainNavigation) }}
<script>
document.addEventListener("DOMContentLoaded", function() {
document.querySelectorAll('.custom-slection-lang-de').forEach((elDe) => {
elDe.addEventListener('click', (e) => {
e.preventDefault();
Cookies.set('language', 'de', {expires: 14});
window.location.href = elDe.href;
});
});
document.querySelectorAll(".custom-slection-lang-en").forEach((elEn) => {
elEn.addEventListener("click", (e) => {
e.preventDefault();
Cookies.set('language', 'en', {expires: 14});
window.location.href = elEn.href;
});
});
});
</script>