forked from itchy/Dialyse-Webseite
Add multilingual support (DE default, EN under /en/)
This commit is contained in:
1 parent
01ea3bd07a
commit
1e33c525f1
21 files changed
+855
-443
No files matched your search
+122
-69
@@ -3,8 +3,12 @@
|
||||
/* @var string $content */
|
||||
/* @var array $config */
|
||||
/* @var Session $session */
|
||||
/* @var string $lang */
|
||||
|
||||
$titles = [
|
||||
$currentLang = isset($lang) ? $lang : Helper::getLang();
|
||||
$isEn = ($currentLang === 'en');
|
||||
|
||||
$titlesDe = [
|
||||
'main' => 'Dialysezentrum Berlin-Mahlsdorf | Praxis für Nephrologie & Dialyse',
|
||||
'leistungen' => 'Leistungen & Schwerpunkte | Dialysezentrum Berlin-Mahlsdorf',
|
||||
'praxis' => 'Praxisausstattung & Öffnungszeiten | Dialysezentrum Berlin-Mahlsdorf',
|
||||
@@ -17,7 +21,20 @@ $titles = [
|
||||
'404' => 'Seite nicht gefunden (404) | Dialysezentrum Berlin-Mahlsdorf',
|
||||
];
|
||||
|
||||
$descriptions = [
|
||||
$titlesEn = [
|
||||
'main' => 'Dialysis Center Berlin-Mahlsdorf | Nephrology & Dialysis Practice',
|
||||
'leistungen' => 'Services & Specialties | Dialysis Center Berlin-Mahlsdorf',
|
||||
'praxis' => 'Practice Equipment & Opening Hours | Dialysis Center Berlin-Mahlsdorf',
|
||||
'team' => 'Our Medical Team & Staff | Dialysis Center Berlin-Mahlsdorf',
|
||||
'ersttermin' => 'First Appointment Information & Forms | Dialysis Center Berlin-Mahlsdorf',
|
||||
'kontakt' => 'Contact & Directions | Dialysis Center Berlin-Mahlsdorf',
|
||||
'kontakt-formular' => 'Contact Request | Dialysis Center Berlin-Mahlsdorf',
|
||||
'impressum' => 'Legal Notice (Impressum) | Dialysis Center Berlin-Mahlsdorf',
|
||||
'datenschutz' => 'Privacy Policy | Dialysis Center Berlin-Mahlsdorf',
|
||||
'404' => 'Page Not Found (404) | Dialysis Center Berlin-Mahlsdorf',
|
||||
];
|
||||
|
||||
$descriptionsDe = [
|
||||
'main' => 'Dialysezentrum Berlin-Mahlsdorf & Marzahn: Individuelle Hämodialyse, Online-HDF, nephrologische Ambulanz und ganzjährige Feriendialysen in Berlin.',
|
||||
'leistungen' => 'Leistungen im Dialysezentrum Berlin-Mahlsdorf: Nephrologische Ambulanz, Hämodialyse, Online-HDF mit Nikkiso Haemo-Master, Fresenius BCM & Sonographie.',
|
||||
'praxis' => 'Praxisausstattung, Dialyse-Schichten & Ambulanz-Sprechzeiten: 16 Plätze in Berlin-Mahlsdorf, 18 Plätze in Berlin-Marzahn und moderne Nikkiso-Dialysetechnik.',
|
||||
@@ -30,23 +47,40 @@ $descriptions = [
|
||||
'404' => 'Die angeforderte Seite wurde leider nicht gefunden. Zurück zur Startseite des Dialysezentrums Berlin-Mahlsdorf.',
|
||||
];
|
||||
|
||||
$descriptionsEn = [
|
||||
'main' => 'Dialysis Center Berlin-Mahlsdorf & Marzahn: Personalized hemodialysis, Online-HDF, nephrology outpatient clinic, and year-round holiday dialysis in Berlin.',
|
||||
'leistungen' => 'Medical services at Dialysis Center Berlin-Mahlsdorf: Nephrology clinic, hemodialysis, Online-HDF with Nikkiso Haemo-Master, Fresenius BCM & ultrasound.',
|
||||
'praxis' => 'Practice equipment, dialysis shifts & clinic hours: 16 stations in Berlin-Mahlsdorf, 18 stations in Berlin-Marzahn, and modern Nikkiso dialysis technology.',
|
||||
'team' => 'Meet our medical team: Dr. med. Bianca Bischoff, Dr. med. Juliane Hoffzimmer, Dr. med. Claudia Körner, and 23 dedicated nursing and service staff.',
|
||||
'ersttermin' => 'Checklist and interactive forms for your first appointment at Dialysis Center Berlin-Mahlsdorf: medical history, privacy consent & patient forms.',
|
||||
'kontakt' => 'Contact & directions to Dialysis Center Berlin-Mahlsdorf (Thorner Str. 1, 12623 Berlin) and Satellite Dialysis Marzahn (Blumberger Damm 130, 12685 Berlin).',
|
||||
'kontakt-formular' => 'Send us your inquiry online via the contact form of Dialysis Center Berlin-Mahlsdorf for appointments, holiday dialysis, or general questions.',
|
||||
'impressum' => 'Legal notice (Impressum) and mandatory disclosures of the joint medical practice Dr. med. Bianca Bischoff & Dr. med. Juliane Hoffzimmer in Berlin-Mahlsdorf.',
|
||||
'datenschutz' => 'Privacy policy and GDPR information on how personal data is processed at Dialysis Center Berlin-Mahlsdorf.',
|
||||
'404' => 'The requested page could not be found. Return to the homepage of Dialysis Center Berlin-Mahlsdorf.',
|
||||
];
|
||||
|
||||
$titles = $isEn ? $titlesEn : $titlesDe;
|
||||
$descriptions = $isEn ? $descriptionsEn : $descriptionsDe;
|
||||
|
||||
$currentAction = isset($action) ? $action : 'main';
|
||||
$pageTitle = isset($titles[$currentAction]) ? $titles[$currentAction] : 'Dialysezentrum Berlin-Mahlsdorf';
|
||||
$pageTitle = isset($titles[$currentAction]) ? $titles[$currentAction] : ($isEn ? 'Dialysis Center Berlin-Mahlsdorf' : 'Dialysezentrum Berlin-Mahlsdorf');
|
||||
$pageDescription = isset($descriptions[$currentAction]) ? $descriptions[$currentAction] : $descriptions['main'];
|
||||
|
||||
$baseUrl = 'https://www.dialyse-berlin.net';
|
||||
$routePath = ($currentAction === 'main' || $currentAction === '404') ? '/' : ('/' . $currentAction . '.html');
|
||||
$deUrl = $baseUrl . Helper::url($routePath, 'de');
|
||||
$enUrl = $baseUrl . Helper::url($routePath, 'en');
|
||||
|
||||
if ($currentAction === '404') {
|
||||
$robotsMeta = 'noindex, nofollow';
|
||||
$canonicalUrl = null;
|
||||
} elseif (in_array($currentAction, ['impressum', 'datenschutz', 'kontakt-formular'], true)) {
|
||||
$robotsMeta = 'noindex, follow';
|
||||
$canonicalUrl = $baseUrl . '/' . $currentAction . '.html';
|
||||
} elseif ($currentAction === 'main') {
|
||||
$robotsMeta = 'index, follow';
|
||||
$canonicalUrl = $baseUrl . '/';
|
||||
$canonicalUrl = $isEn ? $enUrl : $deUrl;
|
||||
} else {
|
||||
$robotsMeta = 'index, follow';
|
||||
$canonicalUrl = $baseUrl . '/' . $currentAction . '.html';
|
||||
$canonicalUrl = $isEn ? $enUrl : $deUrl;
|
||||
}
|
||||
|
||||
$schemaGraph = [
|
||||
@@ -59,6 +93,7 @@ $schemaGraph = [
|
||||
'logo' => $baseUrl . '/img/logo_dialysezentrum.png',
|
||||
'image' => $baseUrl . '/img/gallery/praxis1.jpg',
|
||||
'description' => $descriptions['main'],
|
||||
'availableLanguage' => ['de', 'en'],
|
||||
'medicalSpecialty' => 'https://schema.org/Nephrology',
|
||||
'telephone' => '+49-30-5662484',
|
||||
'email' => 'kontakt@dialyse-berlin.net',
|
||||
@@ -140,8 +175,8 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
[
|
||||
'@type' => 'ListItem',
|
||||
'position' => 1,
|
||||
'name' => 'Startseite',
|
||||
'item' => $baseUrl . '/',
|
||||
'name' => $isEn ? 'Home' : 'Startseite',
|
||||
'item' => $baseUrl . Helper::url('/', $currentLang),
|
||||
],
|
||||
[
|
||||
'@type' => 'ListItem',
|
||||
@@ -154,7 +189,7 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<html lang="<?=htmlspecialchars($currentLang)?>">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
@@ -164,11 +199,15 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
<meta name="robots" content="<?=htmlspecialchars($robotsMeta)?>">
|
||||
<?php if($canonicalUrl): ?>
|
||||
<link rel="canonical" href="<?=htmlspecialchars($canonicalUrl)?>">
|
||||
<link rel="alternate" hreflang="de" href="<?=htmlspecialchars($deUrl)?>">
|
||||
<link rel="alternate" hreflang="en" href="<?=htmlspecialchars($enUrl)?>">
|
||||
<link rel="alternate" hreflang="x-default" href="<?=htmlspecialchars($deUrl)?>">
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- Open Graph / Link Preview Meta Tags -->
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:locale" content="de_DE">
|
||||
<meta property="og:locale" content="<?=$isEn ? 'en_US' : 'de_DE'?>">
|
||||
<meta property="og:locale:alternate" content="<?=$isEn ? 'de_DE' : 'en_US'?>">
|
||||
<meta property="og:site_name" content="Dialysezentrum Berlin-Mahlsdorf">
|
||||
<meta property="og:title" content="<?=htmlspecialchars($pageTitle)?>">
|
||||
<meta property="og:description" content="<?=htmlspecialchars($pageDescription)?>">
|
||||
@@ -178,7 +217,7 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
<meta property="og:image" content="<?=$baseUrl?>/img/gallery/praxis1.jpg">
|
||||
<meta property="og:image:width" content="1024">
|
||||
<meta property="og:image:height" content="768">
|
||||
<meta property="og:image:alt" content="Dialysezentrum Berlin-Mahlsdorf – Praxisgebäude in der Thorner Straße 1">
|
||||
<meta property="og:image:alt" content="<?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf – Practice building at Thorner Straße 1' : 'Dialysezentrum Berlin-Mahlsdorf – Praxisgebäude in der Thorner Straße 1'?>">
|
||||
|
||||
<!-- Schema.org Structured Data (JSON-LD) -->
|
||||
<script type="application/ld+json"><?=json_encode(['@context' => 'https://schema.org', '@graph' => $schemaGraph], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)?></script>
|
||||
@@ -197,32 +236,32 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a href="#main-content" class="skip-link">Zum Hauptinhalt springen</a>
|
||||
<a href="#main-content" class="skip-link"><?=$isEn ? 'Skip to main content' : 'Zum Hauptinhalt springen'?></a>
|
||||
<div id="outer-container">
|
||||
|
||||
<!-- Top Info Bar -->
|
||||
<div class="top-bar">
|
||||
<div class="container top-bar-inner">
|
||||
<div class="top-bar-left">
|
||||
<a href="https://www.google.com/maps/place/Dialysezentrum+Berlin-Mahlsdorf/@52.5078291,13.6092903,17z/data=!3m1!4b1!4m6!3m5!1s0x47a84991f9c57f7f:0xad4486f559442067!8m2!3d52.5078291!4d13.6092903!16s%2Fg%2F1tdqghgn" target="_blank" rel="noopener noreferrer" class="top-bar-item top-bar-addr-main" title="Zentrumsdialyse Berlin-Mahlsdorf in Google Maps öffnen" aria-label="Zentrumsdialyse: Thorner Str. 1, 12623 Berlin (in Google Maps öffnen)">
|
||||
<a href="https://www.google.com/maps/place/Dialysezentrum+Berlin-Mahlsdorf/@52.5078291,13.6092903,17z/data=!3m1!4b1!4m6!3m5!1s0x47a84991f9c57f7f:0xad4486f559442067!8m2!3d52.5078291!4d13.6092903!16s%2Fg%2F1tdqghgn" target="_blank" rel="noopener noreferrer" class="top-bar-item top-bar-addr-main" title="<?=$isEn ? 'Open Main Dialysis Center Berlin-Mahlsdorf in Google Maps' : 'Zentrumsdialyse Berlin-Mahlsdorf in Google Maps öffnen'?>" aria-label="<?=$isEn ? 'Main Center: Thorner Str. 1, 12623 Berlin (open in Google Maps)' : 'Zentrumsdialyse: Thorner Str. 1, 12623 Berlin (in Google Maps öffnen)'?>">
|
||||
<svg class="top-bar-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path 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.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5z"/></svg>
|
||||
<span>Thorner Str. 1, 12623 Berlin</span>
|
||||
</a>
|
||||
<a href="https://www.google.com/maps/place/Dialysezentrum+Berlin-Mahlsdorf+LC/@52.5428128,13.5716785,17z/data=!3m1!4b1!4m6!3m5!1s0x47a84991f9d5111b:0xda0b4785760166c5!8m2!3d52.5428128!4d13.5716785!16s%2Fg%2F1ts_5mmj" target="_blank" rel="noopener noreferrer" class="top-bar-item top-bar-addr-satellite" title="Satellitendialyse Marzahn in Google Maps öffnen" aria-label="Satellitendialyse: Blumberger Damm 130, 12685 Berlin (in Google Maps öffnen)">
|
||||
<a href="https://www.google.com/maps/place/Dialysezentrum+Berlin-Mahlsdorf+LC/@52.5428128,13.5716785,17z/data=!3m1!4b1!4m6!3m5!1s0x47a84991f9d5111b:0xda0b4785760166c5!8m2!3d52.5428128!4d13.5716785!16s%2Fg%2F1ts_5mmj" target="_blank" rel="noopener noreferrer" class="top-bar-item top-bar-addr-satellite" title="<?=$isEn ? 'Open Satellite Dialysis Marzahn in Google Maps' : 'Satellitendialyse Marzahn in Google Maps öffnen'?>" aria-label="<?=$isEn ? 'Satellite Unit: Blumberger Damm 130, 12685 Berlin (open in Google Maps)' : 'Satellitendialyse: Blumberger Damm 130, 12685 Berlin (in Google Maps öffnen)'?>">
|
||||
<svg class="top-bar-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path 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.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5z"/></svg>
|
||||
<span>Satellit: Blumberger Damm 130, 12685 Berlin</span>
|
||||
<span><?=$isEn ? 'Satellite: Blumberger Damm 130, 12685 Berlin' : 'Satellit: Blumberger Damm 130, 12685 Berlin'?></span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="top-bar-right">
|
||||
<a href="tel:0305662484" title="Telefon Dialyse">
|
||||
<a href="tel:0305662484" title="<?=$isEn ? 'Phone Dialysis' : 'Telefon Dialyse'?>">
|
||||
<svg class="top-bar-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>
|
||||
Dialyse: 030 / 566 24 84
|
||||
<?=$isEn ? 'Dialysis:' : 'Dialyse:'?> 030 / 566 24 84
|
||||
</a>
|
||||
<a href="tel:0305662539" title="Telefon Ambulanz">
|
||||
<a href="tel:0305662539" title="<?=$isEn ? 'Phone Outpatient Clinic' : 'Telefon Ambulanz'?>">
|
||||
<svg class="top-bar-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>
|
||||
Ambulanz: 030 / 566 25 39
|
||||
<?=$isEn ? 'Clinic:' : 'Ambulanz:'?> 030 / 566 25 39
|
||||
</a>
|
||||
<a href="javascript:void(0);" class="mail-obf" data-usr="kontakt" data-dom="dialyse-berlin" data-tld="net" title="E-Mail schreiben" style="font-weight: 600;">
|
||||
<a href="javascript:void(0);" class="mail-obf" data-usr="kontakt" data-dom="dialyse-berlin" data-tld="net" title="<?=$isEn ? 'Send Email' : 'E-Mail schreiben'?>" style="font-weight: 600;">
|
||||
<svg class="top-bar-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>
|
||||
<span class="mail-val c-rev">net.nilreb-esylaid@tkatnok</span>
|
||||
</a>
|
||||
@@ -233,25 +272,29 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
<!-- Main Navigation Header -->
|
||||
<header class="site-header">
|
||||
<div class="container header-inner">
|
||||
<a href="/" class="site-logo" title="Dialysezentrum Berlin-Mahlsdorf – Startseite">
|
||||
<a href="<?=Helper::url('/')?>" class="site-logo" title="<?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf – Home' : 'Dialysezentrum Berlin-Mahlsdorf – Startseite'?>">
|
||||
<img src="/img/logo_dialysezentrum.png?v=<?=filemtime(__DIR__ . '/../img/logo_dialysezentrum.png')?>"
|
||||
alt="Dialysezentrum Berlin-Mahlsdorf – Zentrum für Nephrologie & Dialyse"
|
||||
alt="<?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf – Center for Nephrology & Dialysis' : 'Dialysezentrum Berlin-Mahlsdorf – Zentrum für Nephrologie & Dialyse'?>"
|
||||
width="915" height="199"
|
||||
class="site-logo-img">
|
||||
</a>
|
||||
|
||||
<!-- Navigation Menu -->
|
||||
<nav id="siteNav" aria-label="Hauptnavigation">
|
||||
<nav id="siteNav" aria-label="<?=$isEn ? 'Main Navigation' : 'Hauptnavigation'?>">
|
||||
<?php include('view/navigation.php'); ?>
|
||||
</nav>
|
||||
|
||||
<!-- Actions & Mobile Toggle -->
|
||||
<!-- Actions, Language Switcher & Mobile Toggle -->
|
||||
<div class="header-actions">
|
||||
<a href="/kontakt.html" class="header-cta-btn">
|
||||
<div class="lang-switch" role="group" aria-label="<?=$isEn ? 'Language selection' : 'Sprachauswahl'?>">
|
||||
<a href="<?=htmlspecialchars(Helper::url($routePath, 'de'))?>" class="lang-link <?=!$isEn ? 'active' : ''?>" lang="de" hreflang="de" <?=!$isEn ? 'aria-current="true"' : ''?> title="Deutsch">DE</a>
|
||||
<a href="<?=htmlspecialchars(Helper::url($routePath, 'en'))?>" class="lang-link <?=$isEn ? 'active' : ''?>" lang="en" hreflang="en" <?=$isEn ? 'aria-current="true"' : ''?> title="English">EN</a>
|
||||
</div>
|
||||
<a href="<?=Helper::url('/kontakt.html')?>" class="header-cta-btn">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>
|
||||
<span>Kontakt / Termin</span>
|
||||
<span><?=$isEn ? 'Contact / Appointment' : 'Kontakt / Termin'?></span>
|
||||
</a>
|
||||
<button class="nav-toggle" id="navToggle" aria-label="Menü öffnen" aria-expanded="false" aria-controls="navMenu">
|
||||
<button class="nav-toggle" id="navToggle" aria-label="<?=$isEn ? 'Open menu' : 'Menü öffnen'?>" aria-expanded="false" aria-controls="navMenu">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24" id="toggleIcon"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
@@ -260,14 +303,14 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
|
||||
<!-- Holiday / Announcement Dialog (if configured) -->
|
||||
<?php if(Helper::isHoliday($config) && $session->get('dialog') != 'dismissed'): ?>
|
||||
<div id="holiday-wrapper" class="holiday-notice-banner" role="region" aria-label="Aktueller Praxishinweis">
|
||||
<div id="holiday-wrapper" class="holiday-notice-banner" role="region" aria-label="<?=$isEn ? 'Current Practice Notice' : 'Aktueller Praxishinweis'?>">
|
||||
<div class="container holiday-notice-inner">
|
||||
<div class="holiday-notice-content">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/></svg>
|
||||
<div><?=Helper::parseHolidays($config)?></div>
|
||||
<div><?=Helper::parseHolidays($config, $currentLang)?></div>
|
||||
</div>
|
||||
<button type="button" class="holiday-dismiss-btn" data-dismiss="dialog">
|
||||
<span aria-hidden="true">✕</span> <span>Schließen</span>
|
||||
<span aria-hidden="true">✕</span> <span><?=$isEn ? 'Close' : 'Schließen'?></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -275,24 +318,24 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
|
||||
<!-- Hero / Motto Banner on Homepage -->
|
||||
<?php if($currentAction === 'main'): ?>
|
||||
<section class="hero-banner" aria-label="Willkommensbereich">
|
||||
<section class="hero-banner" aria-label="<?=$isEn ? 'Welcome Section' : 'Willkommensbereich'?>">
|
||||
<div class="container">
|
||||
<div class="hero-content">
|
||||
<div class="hero-badge">
|
||||
<span aria-hidden="true">✔</span> „Die individuelle Dialyse im grünen Gürtel von Berlin“
|
||||
<span aria-hidden="true">✔</span> <?=$isEn ? '“Personalized dialysis in Berlin’s green belt”' : '„Die individuelle Dialyse im grünen Gürtel von Berlin“'?>
|
||||
</div>
|
||||
<h1 class="hero-title">Dialysezentrum Berlin-Mahlsdorf</h1>
|
||||
<h1 class="hero-title"><?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf' : 'Dialysezentrum Berlin-Mahlsdorf'?></h1>
|
||||
<div class="hero-subtitle">
|
||||
Dr. med. Bianca Bischoff • Dr. med. Juliane Hoffzimmer
|
||||
</div>
|
||||
<div class="hero-doctors">
|
||||
Fachärztinnen für Innere Medizin und Nephrologie
|
||||
<?=$isEn ? 'Board-Certified Specialists in Internal Medicine and Nephrology' : 'Fachärztinnen für Innere Medizin und Nephrologie'?>
|
||||
</div>
|
||||
<div class="hero-actions">
|
||||
<a href="/leistungen.html" class="btn btn-primary">Unsere Leistungen</a>
|
||||
<a href="/praxis.html" class="btn btn-secondary">Praxis & Öffnungszeiten</a>
|
||||
<a href="/kontakt.html" class="btn btn-outline">Kontakt aufnehmen</a>
|
||||
<a href="/ersttermin.html" class="btn btn-outline">Infos zum 1. Termin</a>
|
||||
<a href="<?=Helper::url('/leistungen.html')?>" class="btn btn-primary"><?=$isEn ? 'Our Services' : 'Unsere Leistungen'?></a>
|
||||
<a href="<?=Helper::url('/praxis.html')?>" class="btn btn-secondary"><?=$isEn ? 'Practice & Hours' : 'Praxis & Öffnungszeiten'?></a>
|
||||
<a href="<?=Helper::url('/kontakt.html')?>" class="btn btn-outline"><?=$isEn ? 'Get in Touch' : 'Kontakt aufnehmen'?></a>
|
||||
<a href="<?=Helper::url('/ersttermin.html')?>" class="btn btn-outline"><?=$isEn ? 'First Appointment Info' : 'Infos zum 1. Termin'?></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -306,8 +349,8 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
<div class="page-banner">
|
||||
<div class="container page-banner-inner">
|
||||
<div>
|
||||
<nav class="breadcrumb" aria-label="Brotkrumennavigation">
|
||||
<a href="/">Startseite</a> <span aria-hidden="true">›</span>
|
||||
<nav class="breadcrumb" aria-label="<?=$isEn ? 'Breadcrumb Navigation' : 'Brotkrumennavigation'?>">
|
||||
<a href="<?=Helper::url('/')?>"><?=$isEn ? 'Home' : 'Startseite'?></a> <span aria-hidden="true">›</span>
|
||||
<span aria-current="page"><?=htmlspecialchars(trim(explode('|', $pageTitle)[0]))?></span>
|
||||
</nav>
|
||||
</div>
|
||||
@@ -329,54 +372,60 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
<div class="container footer-grid">
|
||||
<!-- Col 1: About Praxis -->
|
||||
<div>
|
||||
<div class="footer-col-title">Dialysezentrum Berlin-Mahlsdorf</div>
|
||||
<div class="footer-col-title"><?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf' : 'Dialysezentrum Berlin-Mahlsdorf'?></div>
|
||||
<p class="footer-desc">
|
||||
Zentrum für Nephrologie und Dialyse.<br>
|
||||
Dr. med. Bianca Bischoff und Dr. med. Juliane Hoffzimmer.<br>
|
||||
Individuelle nephrologische Betreuung und ganzjährige Feriendialysen mit moderner Medizintechnik.
|
||||
<?php if($isEn): ?>
|
||||
Center for Nephrology and Dialysis.<br>
|
||||
Dr. med. Bianca Bischoff and Dr. med. Juliane Hoffzimmer.<br>
|
||||
Personalized nephrological care and year-round holiday dialysis with modern medical technology.
|
||||
<?php else: ?>
|
||||
Zentrum für Nephrologie und Dialyse.<br>
|
||||
Dr. med. Bianca Bischoff und Dr. med. Juliane Hoffzimmer.<br>
|
||||
Individuelle nephrologische Betreuung und ganzjährige Feriendialysen mit moderner Medizintechnik.
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
<div class="footer-contact-item">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path 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.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5z"/></svg>
|
||||
<span><strong>Zentrumsdialyse:</strong> Thorner Straße 1, 12623 Berlin</span>
|
||||
<span><strong><?=$isEn ? 'Main Center:' : 'Zentrumsdialyse:'?></strong> Thorner Straße 1, 12623 Berlin</span>
|
||||
</div>
|
||||
<div class="footer-contact-item">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path 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.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5z"/></svg>
|
||||
<span><strong>Satellitendialyse:</strong> Blumberger Damm 130, 12685 Berlin</span>
|
||||
<span><strong><?=$isEn ? 'Satellite Unit:' : 'Satellitendialyse:'?></strong> Blumberger Damm 130, 12685 Berlin</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Col 2: Navigation Links -->
|
||||
<div>
|
||||
<div class="footer-col-title">Navigation</div>
|
||||
<div class="footer-col-title"><?=$isEn ? 'Navigation' : 'Navigation'?></div>
|
||||
<ul class="footer-links">
|
||||
<li><a href="/"><span aria-hidden="true">›</span> Startseite</a></li>
|
||||
<li><a href="/leistungen.html"><span aria-hidden="true">›</span> Leistungen</a></li>
|
||||
<li><a href="/praxis.html"><span aria-hidden="true">›</span> Praxisausstattung</a></li>
|
||||
<li><a href="/team.html"><span aria-hidden="true">›</span> Unser Team</a></li>
|
||||
<li><a href="/ersttermin.html"><span aria-hidden="true">›</span> Infos zum 1. Termin</a></li>
|
||||
<li><a href="/kontakt.html"><span aria-hidden="true">›</span> Kontakt & Anfahrt</a></li>
|
||||
<li><a href="/kontakt-formular.html"><span aria-hidden="true">›</span> Kontaktformular</a></li>
|
||||
<li><a href="<?=Helper::url('/')?>"><span aria-hidden="true">›</span> <?=$isEn ? 'Home' : 'Startseite'?></a></li>
|
||||
<li><a href="<?=Helper::url('/leistungen.html')?>"><span aria-hidden="true">›</span> <?=$isEn ? 'Services' : 'Leistungen'?></a></li>
|
||||
<li><a href="<?=Helper::url('/praxis.html')?>"><span aria-hidden="true">›</span> <?=$isEn ? 'Practice Equipment' : 'Praxisausstattung'?></a></li>
|
||||
<li><a href="<?=Helper::url('/team.html')?>"><span aria-hidden="true">›</span> <?=$isEn ? 'Our Team' : 'Unser Team'?></a></li>
|
||||
<li><a href="<?=Helper::url('/ersttermin.html')?>"><span aria-hidden="true">›</span> <?=$isEn ? 'First Appointment Info' : 'Infos zum 1. Termin'?></a></li>
|
||||
<li><a href="<?=Helper::url('/kontakt.html')?>"><span aria-hidden="true">›</span> <?=$isEn ? 'Contact & Directions' : 'Kontakt & Anfahrt'?></a></li>
|
||||
<li><a href="<?=Helper::url('/kontakt-formular.html')?>"><span aria-hidden="true">›</span> <?=$isEn ? 'Contact Form' : 'Kontaktformular'?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Col 3: Contact & Opening info -->
|
||||
<div>
|
||||
<div class="footer-col-title">Kontakt & Erreichbarkeit</div>
|
||||
<div class="footer-col-title"><?=$isEn ? 'Contact & Availability' : 'Kontakt & Erreichbarkeit'?></div>
|
||||
<div class="footer-contact-item">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>
|
||||
<span>Dialyse: <strong>030 / 566 24 84</strong></span>
|
||||
<span><?=$isEn ? 'Dialysis:' : 'Dialyse:'?> <strong>030 / 566 24 84</strong></span>
|
||||
</div>
|
||||
<div class="footer-contact-item">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>
|
||||
<span>Ambulanz: <strong>030 / 566 25 39</strong></span>
|
||||
<span><?=$isEn ? 'Outpatient Clinic:' : 'Ambulanz:'?> <strong>030 / 566 25 39</strong></span>
|
||||
</div>
|
||||
<div class="footer-contact-item">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>
|
||||
<span>E-Mail: <a href="javascript:void(0);" class="mail-obf" data-usr="kontakt" data-dom="dialyse-berlin" data-tld="net" style="color: #cbd5e1; font-weight:600;"><span class="mail-val c-rev">net.nilreb-esylaid@tkatnok</span></a></span>
|
||||
<span><?=$isEn ? 'Email:' : 'E-Mail:'?> <a href="javascript:void(0);" class="mail-obf" data-usr="kontakt" data-dom="dialyse-berlin" data-tld="net" style="color: #cbd5e1; font-weight:600;"><span class="mail-val c-rev">net.nilreb-esylaid@tkatnok</span></a></span>
|
||||
</div>
|
||||
<div class="footer-contact-item">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"/></svg>
|
||||
<span><a href="/files/dialyse_flyer.pdf" target="_blank" rel="noopener" style="color: #38bdf8; font-weight:600;"><span aria-hidden="true">»</span> Praxis-Flyer herunterladen (PDF)</a></span>
|
||||
<span><a href="/files/dialyse_flyer.pdf" target="_blank" rel="noopener" style="color: #38bdf8; font-weight:600;"><span aria-hidden="true">»</span> <?=$isEn ? 'Download Practice Flyer (PDF)' : 'Praxis-Flyer herunterladen (PDF)'?></a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -384,12 +433,12 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
<!-- Footer Bottom Bar -->
|
||||
<div class="container footer-bottom">
|
||||
<div>
|
||||
© <?=date('Y')?> Dialysezentrum Berlin-Mahlsdorf • Alle Rechte vorbehalten.
|
||||
© <?=date('Y')?> <?=$isEn ? 'Dialysis Center Berlin-Mahlsdorf • All rights reserved.' : 'Dialysezentrum Berlin-Mahlsdorf • Alle Rechte vorbehalten.'?>
|
||||
</div>
|
||||
<div>
|
||||
<a href="/impressum.html">Impressum</a>
|
||||
<a href="/datenschutz.html">Datenschutz</a>
|
||||
<a href="/kontakt.html">Kontakt</a>
|
||||
<a href="<?=Helper::url('/impressum.html')?>"><?=$isEn ? 'Legal Notice' : 'Impressum'?></a>
|
||||
<a href="<?=Helper::url('/datenschutz.html')?>"><?=$isEn ? 'Privacy Policy' : 'Datenschutz'?></a>
|
||||
<a href="<?=Helper::url('/kontakt.html')?>"><?=$isEn ? 'Contact' : 'Kontakt'?></a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -399,6 +448,10 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
<!-- Interactive Scripts -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
var isEn = document.documentElement.lang === 'en';
|
||||
var labelOpen = isEn ? 'Open menu' : 'Menü öffnen';
|
||||
var labelClose = isEn ? 'Close menu' : 'Menü schließen';
|
||||
|
||||
// Anti-Spam Email De-Obfuscation
|
||||
$('.mail-obf').each(function() {
|
||||
var $el = $(this);
|
||||
@@ -440,7 +493,7 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
var isOpen = $navMenu.hasClass('is-open');
|
||||
$navMenu.toggleClass('is-open');
|
||||
$navToggle.attr('aria-expanded', !isOpen);
|
||||
$navToggle.attr('aria-label', !isOpen ? 'Menü schließen' : 'Menü öffnen');
|
||||
$navToggle.attr('aria-label', !isOpen ? labelClose : labelOpen);
|
||||
|
||||
// Toggle hamburger icon to X
|
||||
if(!isOpen) {
|
||||
@@ -455,7 +508,7 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
if (!$(e.target).closest('#siteNav, #navToggle').length) {
|
||||
if ($navMenu.hasClass('is-open')) {
|
||||
$navMenu.removeClass('is-open');
|
||||
$navToggle.attr('aria-expanded', 'false').attr('aria-label', 'Menü öffnen');
|
||||
$navToggle.attr('aria-expanded', 'false').attr('aria-label', labelOpen);
|
||||
$('#toggleIcon').html('<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/>');
|
||||
}
|
||||
}
|
||||
@@ -465,7 +518,7 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
$(document).on('keydown', function(e) {
|
||||
if (e.key === 'Escape' && $navMenu.hasClass('is-open')) {
|
||||
$navMenu.removeClass('is-open');
|
||||
$navToggle.attr('aria-expanded', 'false').attr('aria-label', 'Menü öffnen').trigger('focus');
|
||||
$navToggle.attr('aria-expanded', 'false').attr('aria-label', labelOpen).trigger('focus');
|
||||
$('#toggleIcon').html('<path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/>');
|
||||
}
|
||||
});
|
||||
@@ -484,4 +537,4 @@ if ($canonicalUrl && $currentAction !== 'main') {
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
Reference in new issue
Block a user