Sprachauswahl mit Flaggen

Hallo,
ich versuche gerade meine Sprachauswahl zu bearbeiten.
Ich würde gerne anstatt dem Dropdown Menü die Flaggen “DE und GB” nebeneinander anzeigen lassen.
Eigentlich habe ich ein bisschen Erfahrung mit HTML aber habe jetzt den Code gefunden und ich blicke garnicht durch.

Kann mir jemand einen Denkanstoß geben?

{* Language switcher *}
{block name='frontend_index_actions_active_shop'}
    {if $shop && $languages|count > 1}
        
            {block name='frontend_index_actions_active_shop_top_bar_language'}
                {if $languages|count > 1}
                    
                        {block name="frontend_index_actions_active_shop_language_form_content"}
                            
                                {if $shop && $languages|count > 1}
                                    {$shop->getName()}
                                {/if}
                                {block name="frontend_index_actions_active_shop_language_form_select"}
                                    
                                        
                                            {foreach $languages as $language}
                                                getId() === $shop->getId()}selected="selected"{/if}>
                                                    {$language->getName()}
                                                
                                            {/foreach}
                                        
                                    
                                {/block}
                                
                                {block name="frontend_index_actions_active_shop_inline"}{/block}
                            
                        {/block}
                    
                {/if}
            {/block}
        
    {/if}
{/block}

Wo fange ich am besten an? :smiley:

Danke!

Willst du einfach nur einen Button statt dem Sprachwechsel?

Hatte das schonmal so gelöst:

 

Ich hatte das so gelöst:

Datei: widgets/index/shop_menu.tpl

{extends file="parent:widgets/index/shop_menu.tpl"}


{block name='frontend_index_actions_active_shop'}
    
        
            {foreach $languages as $language}
                    getId() != $shop->getId()}class="btn is--secondary"{else}class="btn is--primary"{/if}
                            form="language-form"
                            value="{$language->getId()}"
                            name="__shop"
                            formtarget="_self">{$language->getName()}
                    
                    
            {/foreach}
        
    
{/block}

Dazu noch etwas Less:

.header-main .top-bar
{
  margin-bottom: 1.125rem;
}

.mobile--switches
{
  height: 8.6875rem;
}


.mobile--switches .field--select, .mobile--switches .navigation--entry
{
  height: auto;
}

Kann man sicher noch etwas schöner machen. Aber das wäre ggf. eine Lösung.

2 Likes

Danke für die Antwort.

Deinen Code ersetze ich jetzt mit meinem “Language Switcher”-Block?

Hallo,

alternativ gibt es genau für diesen Zweck auch (kostengünstige) Plugins, siehe: Grafischer Wechsel der Sprache und der Währung (Flaggen, Textlinks) | Header + Footer | Storefront / Detailanpassungen | Erweiterungen | Shopware Community Store . Beim Punkt 6, 7 und 8 hast du deinen Wunsch.

Grüße

Sebastian

@Askari schrieb:

Danke für die Antwort.

Deinen Code ersetze ich jetzt mit meinem “Language Switcher”-Block?

https://developers.shopware.com/designers-guide/theme-startup-guide/#search-results

Da musst du dich mal durcharbeiten. Theme-Anpassungen werden immer im eigenen Theme - in eigenen Daten gemacht. Niemals in den Dateien die Shopware mit ausliefert. Wenn du das einmal durchgearbeitet und verstanden hast, dann weißt du auch, was man mit meinem Beispiel machen kann.