{# @var craft \craft\web\twig\variables\CraftVariable #} {# @var entry \craft\elements\Entry #} {# Language Switcher ------------------------------------------------------------ {% import '_partials/macros/_macro-languageSwitcher.html' as macroLanguageSwitcher %} {{ macroLanguageSwitcher.languageSwitcher({ sites: ['noobs', 'pros'] }, entry) }} #} {% macro languageSwitcher(opt, entry) %} {% set defaults = { cn: 'm-languageSwitcher', sites: null | default('all') } %} {# -- Merge Default with Options -- #} {% set opt = opt is defined ? defaults|merge(opt) : defaults %} {% if opt.sites is defined and entry is defined %} {# -- Get all Handles -- #} {% set allSiteHandles = [] %} {% for site in craft.app.sites.getAllSites() %} {% set allSiteHandles = allSiteHandles|merge([site.handle]) %} {% endfor %} {% set sites = opt.sites %} {% if sites == 'all' %} {% set sites = allSiteHandles %} {% endif %} {% endif %} {% endmacro %}