Startseite ruhiger, Otterpohl mit Montage, Marken-Bilder und Farbwelt-Entwurf
- Hinweisleiste per B2IN_ANNOUNCEMENT_BAR ausgeblendet (Standard aus) - Hero: „Räume aus einer Hand.“ als neue Überschrift, zweiter Button entfernt - Projekttext mit zentralem deutschen Vertragspartner (Punkt statt Gedankenstrich) - Otterpohl als vierte Kernmarke: Text v2, Abschnitt „Montage“, Titelbild getauscht - Markenabschnitte: Absätze mit „- “ als Liste mit fetter Einleitung - Titelbilder und Galerien für CABINET, Rotpunkt, Febrü und Otterpohl (WebP) - Feedback 17.09. in den Markentexten, Demobilder entfernt, WhatsApp-Nummer - Palette „Modern“ fest ohne Schalter, Entwurf /entwurf mit Hero-Slideshow - Seeder-Liste fürs Deployment im Entwicklungsplan Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
3211569fee
commit
4b07bbdcae
124 changed files with 3618 additions and 496 deletions
83
database/seeders/WhatsappNumberSeeder.php
Normal file
83
database/seeders/WhatsappNumberSeeder.php
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use FluxCms\Core\Models\CmsContent;
|
||||
use FluxCms\Core\Services\CmsContentService;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
/**
|
||||
* Hinterlegt die WhatsApp-Business-Nummer des Stores (Abstimmung 23.09.2026, Nachtrag 18).
|
||||
*
|
||||
* Der WhatsApp-Button im Terminanfrage-Widget liest `global.contact.whatsapp`. Auf der Vorschau
|
||||
* stand dort der Platzhalter „+49 151 00000000“ aus der ersten Einrichtung, danach kurz die
|
||||
* falsche Nummer vom 23.09. Der Seeder trägt die echte Nummer ein, wenn das Feld leer ist oder
|
||||
* einen dieser beiden Werte enthält; eine im Admin gepflegte andere Nummer bleibt stehen. Fehlt der Eintrag `global.contact` ganz, wird er
|
||||
* angelegt. Mehrfaches Ausführen ist unbedenklich.
|
||||
*
|
||||
* php artisan db:seed --class=WhatsappNumberSeeder
|
||||
*/
|
||||
class WhatsappNumberSeeder extends Seeder
|
||||
{
|
||||
/** Business-Nummer laut Marcel (0521-98620100, korrigiert am 24.09.), international geschrieben. */
|
||||
public const NUMBER = '+49 521 98620100';
|
||||
|
||||
/**
|
||||
* Werte, die der Seeder ersetzt: der Platzhalter aus der ersten Einrichtung und die am 23.09.
|
||||
* versehentlich eingetragene falsche Nummer (Zahlendreher in der Zulieferung).
|
||||
*
|
||||
* @var array<int, string>
|
||||
*/
|
||||
private const PLACEHOLDERS = ['+49 151 00000000', '+49 521 98610020'];
|
||||
|
||||
/** @var array<int, string> */
|
||||
private const LOCALES = ['de', 'en'];
|
||||
|
||||
public function run(): void
|
||||
{
|
||||
$row = CmsContent::query()->where('group', 'global')->where('key', 'contact')->first();
|
||||
|
||||
if (! $row) {
|
||||
CmsContent::create([
|
||||
'group' => 'global',
|
||||
'key' => 'contact',
|
||||
'type' => 'json',
|
||||
'value' => array_fill_keys(self::LOCALES, ['whatsapp' => self::NUMBER]),
|
||||
'order' => 0,
|
||||
]);
|
||||
app(CmsContentService::class)->clearCache('global');
|
||||
|
||||
$this->command?->info('WhatsApp-Nummer: Eintrag global.contact angelegt.');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$value = $row->getTranslations('value');
|
||||
$changed = 0;
|
||||
|
||||
foreach (self::LOCALES as $locale) {
|
||||
$section = is_array($value[$locale] ?? null) ? $value[$locale] : [];
|
||||
$current = trim((string) ($section['whatsapp'] ?? ''));
|
||||
|
||||
if ($current !== '' && ! in_array($current, self::PLACEHOLDERS, true)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$section['whatsapp'] = self::NUMBER;
|
||||
$value[$locale] = $section;
|
||||
$changed++;
|
||||
}
|
||||
|
||||
if ($changed === 0) {
|
||||
$this->command?->info('WhatsApp-Nummer: bereits gepflegt, nichts geändert.');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$row->value = $value;
|
||||
$row->save();
|
||||
app(CmsContentService::class)->clearCache('global');
|
||||
|
||||
$this->command?->info("WhatsApp-Nummer gesetzt ({$changed} Sprache(n)).");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue