Die Vorlage für die Topbar lautet < header_top_bar.tpl> und liegt unter /templates/Flex/layout/.
- {block name="top-bar-cms-greeting"}
- <li class="greeting">
- <a href="tel:{$Einstellungen.template.header.hotline}">{lang key='hotline' section='custom'} {$Einstellungen.template.header.hotline}</a>
- </li>
- {/block}
- {extends file="../../Flex/layout/header_top_bar.tpl"}
Mein Ziel ist die Vorlage um die Email-Adresse zu erweitern, die über die Template-Einstellungen zu pflegen, als auch direkt im Frontend anklickbar ist.
Ergänze den oben aufgeführten Block um folgenden Code:
- {block name="top-bar-cms-greeting"}
- <li class="greeting">
- <a href="tel:{$Einstellungen.template.header.hotline}">{lang key='hotline' section='custom'} {$Einstellungen.template.header.hotline}</a>
- </li>
- <li class="mail">
- <a href="mailto:{$Einstellungen.template.header.mail}">{lang key='mail' section='custom'} {$Einstellungen.template.header.mail}</a>
- </li>
- {/block}
- <Section Name="Kopfbereich-Einstellungen" Key="header">
- <Setting Description="Email-Adresse" Key="mail" Type="text" Value="" />
- </Section>
Die obere Lösung funktioniert super, allerdings berücksichtigt diese keine leeren Eingaben. Sollte der Benutzer weder Telefon noch Email im Kopfbereich brauchen, erzeugt das Template leere Links. Genau dieses Verhalten wollen wir jetzt abfangen.
Ergänze den Code wie folgt:
- {block name="top-bar-cms-greeting"}
- {if !empty($Einstellungen.template.header.hotline)}
- <li class="greeting">
- <a href="tel:{$Einstellungen.template.header.hotline}">{lang key='hotline' section='custom'} {$Einstellungen.template.header.hotline}</a>
- </li>
- {/if}
- {if !empty($Einstellungen.template.header.mail)}
- <li class="mail">
- <a href="mailto:{$Einstellungen.template.header.mail}">{lang key='mail' section='custom'} {$Einstellungen.template.header.mail}</a>
- </li>
- {/if}
- {/block}
Die Sprachvariable kann man relativ einfach im Shopbackend in der Sprachverwaltung <System> <Sprachverwaltung> einfügen. Klicke dort auf den Button <Variable hinzufügen>.
Sprachsektion: custom
Variable: mail
Deutsch: Email: