Hallo zusammen,
ich möchte ganz oben im Kopfbereich (neben dem Praxisnamen) Kontaktdaten wie Telefonnummer, Adresse und Öffnungszeiten platzieren.
Da das normale Webnamen-Feld das nicht hergibt, habe ich mir mit einem HTML/CSS-Baustein geholfen, den ich über body_start ganz oben reinschiebe. Das klappt am Desktop und am Handy auch super – fühlt sich aber wie eine ziemliche Bastellösung an.
Gibt es in Zeta Producer oder direkt in den Layout-Einstellungen vielleicht einen einfacheren, offiziellen Weg, um so eine Infoleiste im Header unterzubringen, ohne dass man Code von außen einschmuggeln muss?
Meinen aktuellen Code packe ich unten in den Spoiler. Vielleicht hat ja jemand einen Tipp für mich, wie das innerhalb der Zeta-Logik sauberer geht!
Viele Grüße
Zeta Producer Business V17.2.1
Layout: Campfire Responsive
<div id="zeta-custom-top-bar" class="custom-global-infobar" style="display: none;">
<div class="infobar-inner">
<div class="infobar-brand">
<span class="brand-text">Praxis Dr. med. Max Mustermann</span>
</div>
<div class="infobar-right-wrapper">
<div class="infobar-item">
<span class="infobar-icon icon-phone"></span>
<div class="infobar-text">
<a href="tel:0123456789" class="info-link-item">Telefon: 01234 56789</a>
</div>
</div>
<div class="infobar-item">
<span class="infobar-icon icon-location"></span>
<div class="infobar-text">
<span>Musterstraße 123, 12345 Musterstadt</span>
</div>
</div>
<div class="infobar-item">
<span class="infobar-icon icon-clock"></span>
<div class="infobar-text">
<span>Mo-Fr 08:00-12:00</span>
<span>Mo+Di+Do 15:00-18:00</span>
</div>
</div>
</div>
</div>
</div>
<script>
(function()
{
function injectInfobar()
{
var infobar = document.getElementById('zeta-custom-top-bar');
if (!infobar) return;
var siteBody = document.body;
if (siteBody)
{
siteBody.insertBefore(infobar, siteBody.firstChild);
infobar.style.setProperty('display', 'block', 'important');
}
}
if (document.readyState === 'loading')
{
document.addEventListener('DOMContentLoaded', injectInfobar);
}
else
{
injectInfobar();
}
})();
</script>
<style>
/* ==========================================================================
CSS STYLE-SYNTAX (Browserübergreifend stabil für Chrome & Edge)
========================================================================== */
:root {
--bar-teal: #10a3a6; --bar-text: #333333; --bar-border: #e5e7eb; --bar-bg: #ffffff;
}
/* Der weiße Hauptbalken ganz oben */
.custom-global-infobar {
display: block !important; width: auto !important; position: relative !important; left: 0 !important; right: 0 !important; background-color: var(--bar-bg) !important; border-bottom: 1px solid var(--bar-border) !important; padding: 15px 0 !important; box-sizing: border-box !important; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important; z-index: 999999 !important;
}
/* Innerer Container: Grid-Ausrichtung für die Flucht */
.infobar-inner {
display: grid !important; grid-template-columns: 1fr auto !important; align-items: center !important; width: 100% !important; max-width: 1140px !important; margin: 0 auto !important; padding: 0 15px !important; box-sizing: border-box !important;
}
/* Linker Bereich: Name linksbündig */
.infobar-brand {
text-align: left !important; display: block !important;
}
.brand-text {
font-size: 22px !important; font-weight: 700 !important; color: var(--bar-teal) !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; white-space: nowrap !important;
}
/* Rechter Bereich: Infos rechts gebündelt */
.infobar-right-wrapper {
display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: flex-end !important; gap: 30px !important;
}
/* Einzelne Info-Boxen */
.infobar-item {
display: flex !important; align-items: center !important; gap: 12px !important; position: relative !important;
}
/* Vertikale Trennstriche für Desktop */
.infobar-item:not(:last-child)::after {
content: "" !important; position: absolute !important; right: -15px !important; top: 50% !important; transform: translateY(-50%) !important; width: 1px !important; height: 26px !important; background-color: var(--bar-border) !important;
}
/* Textelemente */
.infobar-text {
display: flex !important; flex-direction: column !important; font-size: 14px !important; color: var(--bar-text) !important; line-height: 1.3 !important; text-align: left !important;
}
.info-link-item {
color: var(--bar-teal) !important; text-decoration: none !important; font-weight: 600 !important;
}
.info-link-item:hover {
text-decoration: underline !important;
}
/* SVG Icons via CSS */
.infobar-icon {
width: 22px !important; height: 22px !important; background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; flex-shrink: 0 !important;
}
.icon-phone {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2310a3a6' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 002.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.387a12.035 12.035 0 01-5.547-5.547c-.145-.44.02-1.211.386-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 00-1.091-.852H4.5A2.25 2.25 0 002.25 4.5v2.25z'/%3E%3C/svg%3E") !important;
}
.icon-location {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2310a3a6' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important;
}
.icon-clock {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2310a3a6' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm1 14h-2V7h2v9z'/%3E%3C/svg%3E") !important;
}
/* ==========================================================================
MEDIA QUERIES (Responsive Steuerung)
========================================================================== */
/* --- TABLETS & LANDSCAPE --- */
media screen and (max-width: 1024px) {
.infobar-inner {
grid-template-columns: 1fr !important; gap: 15px !important; text-align: center !important;
}
.infobar-brand {
text-align: center !important;
}
.infobar-right-wrapper {
width: 100% !important; justify-content: center !important; gap: 25px !important;
}
}
/* --- TABLETS PORTRAIT --- */
media screen and (max-width: 768px) {
.infobar-right-wrapper {
flex-wrap: wrap !important; gap: 12px 20px !important;
}
.infobar-item:not(:last-child)::after {
display: none !important;
}
}
/* --- SMARTPHONES --- */
media screen and (max-width: 480px) {
.brand-text {
font-size: 20px !important;
}
.infobar-right-wrapper {
flex-direction: column !important; align-items: flex-start !important; width: auto !important; margin: 0 auto !important; gap: 10px !important;
}
.infobar-text {
font-size: 13px !important;
}
}
</style>