Startseite und Heroes - Hero-Slideshow (11 Motive inkl. Febrü) mit Infokarte, Laufzeit-Linie, größeren Klickflächen, Goldrahmen und mobiler Karte unter dem Bild; Zeile über der Überschrift, neue Vertrauenspunkte - Hero-Stil auf Marken, Über uns und Kontakt übertragen, Breadcrumb entfernt - Gründer-Leiste, Vision-Box auf Ocker, Showroom-Display in Box mit „Größer ansehen“/Vollbild - Akzentfarbe #a8741f, größere Serif-Überschriften in der Interior-Welt - Marken: Bildpause mit Zitat; Vereine aktualisiert und verlinkt Inhalte - Lektorat aller angezeigten Texte, /about-Korrekturen, Rechtstexte (DDG, TDDDG, Hosting Hetzner) - Ablauf Maßanfertigung überall einheitlich, Magazin-Beitrag neu, alte Beiträge offline, deutsches Datum/Lesezeit, FAQ Projektausstattung, Otterpohl - Referenzen-Seite per CMS-Schalter ausblendbar CMS und Technik - Tote Sektionen, Felder, Seiten und Komponenten entfernt und archiviert (dev/2026-08-28/archiv-*) - Entwurf /entwurf, Farb-Schalter und /welcome entfernt; Test-Routen nur noch lokal - Seitenbaum-Beschreibungen geprüft, fehlende CMS-Felder ergänzt, Markenliste aus „Kernmarken“ - Admin-Bildvorschauen repariert, verwendete Bilder in die Mediathek übernommen - Seeder für das Deployment siehe dev/2026-08-28/entwicklungsplan.md Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
58 lines
1.9 KiB
PHP
58 lines
1.9 KiB
PHP
<?php
|
||
|
||
namespace Database\Seeders;
|
||
|
||
use FluxCms\Core\Models\CmsContent;
|
||
use FluxCms\Core\Services\CmsContentService;
|
||
use Illuminate\Database\Seeder;
|
||
|
||
/**
|
||
* Startseite, „Gebaut auf Expertise und Vertrauen“ (Abstimmung 07.10.2026): „Expertise und
|
||
* Vertrauen“ in der Akzentfarbe. Ersetzt nur die bisherige Überschrift ohne Hervorhebung –
|
||
* eine eigene Formulierung im CMS bleibt. Mehrfaches Ausführen ist unbedenklich.
|
||
*
|
||
* php artisan db:seed --class=HomeVisionTitleSeeder
|
||
*/
|
||
class HomeVisionTitleSeeder extends Seeder
|
||
{
|
||
/** @var array<string, array{old: string, new: string}> */
|
||
public const TITLES = [
|
||
'de' => ['old' => 'Gebaut auf Expertise und Vertrauen', 'new' => 'Gebaut auf <span class="text-secondary">Expertise und Vertrauen</span>'],
|
||
'en' => ['old' => 'Built on Expertise and Trust', 'new' => 'Built on <span class="text-secondary">Expertise and Trust</span>'],
|
||
];
|
||
|
||
public function run(): void
|
||
{
|
||
$row = CmsContent::query()->where('group', 'home')->where('key', 'vision_section')->first();
|
||
|
||
if (! $row) {
|
||
$this->command?->info('Vision: Sektion nicht im CMS – die Lang-Datei gilt.');
|
||
|
||
return;
|
||
}
|
||
|
||
$value = $row->getTranslations('value');
|
||
$changed = false;
|
||
|
||
foreach ($value as $locale => $content) {
|
||
$title = self::TITLES[$locale] ?? null;
|
||
|
||
if (is_array($content) && $title && ($content['title'] ?? null) === $title['old']) {
|
||
$value[$locale]['title'] = $title['new'];
|
||
$changed = true;
|
||
}
|
||
}
|
||
|
||
if (! $changed) {
|
||
$this->command?->info('Vision: bereits aktuell, nichts geändert.');
|
||
|
||
return;
|
||
}
|
||
|
||
$row->value = $value;
|
||
$row->save();
|
||
app(CmsContentService::class)->clearCache('home');
|
||
|
||
$this->command?->info('Vision: Überschrift mit Hervorhebung gesetzt.');
|
||
}
|
||
}
|