Interior-Farbwelt, Welten-Trennung, Tischlerei und Herkunfts-Sektion
Arbeitsplan 14.09.2026, Punkte 1.1 bis 1.4 (Nachträge 6 bis 10 im Entwicklungsplan): - Farbwelt Interior (Tanne, Creme, Sand, Ocker, Clay) als Standard, Immobilien-Welt behält das bisherige Blau über body.world-immobilien; Logo je Welt, Favicons neu, Welten-Wechsler in Kopf- und Fußzeile. - Saubere Trennung der Welten: eigene Navigation, Ankündigungsleiste, Magazinliste, Über-uns-Seite, FAQ, Kontaktseite und Abschluss-CTA für Immobilien; Beiträge tragen eine Welt (Migration + Admin-Feld). Abschluss-CTA Ton in Ton statt Grün-zu-Ocker. - Kontakt: Betreffe in Gruppen Interior / Immobilien / B2in, Marken darin. Terminanfrage-Buttons öffnen das Widget mit vorgewähltem Anliegen; Select-Felder einheitlich gestaltet. - Tischlerei als vierte Kernmarke (Platzhalter), Kachelraster 2×2. - Herkunfts-Sektion „Aus der Region gefertigt“ mit schematischer Standortkarte und Ablauf CABINET (Beratung Bielefeld, Fertigung Köln, Aufbau mit Tischlerei). Deployment: migrate, WorldSplitCmsSeeder, CmsBrandSeeder, OriginSectionCmsSeeder (Abschnitt 8 im Entwicklungsplan). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
1242d4bce8
commit
7953a8c9a1
137 changed files with 3840 additions and 589 deletions
|
|
@ -64,6 +64,24 @@ Route::get('/immobilien', function (Request $request) use ($isAziziSourcePreview
|
|||
return view('web.dev.immobilien-azizi', compact('content', 'dev', 'devQuery', 'overviewRouteName', 'detailRouteName'));
|
||||
})->name('immobilien');
|
||||
|
||||
// Immobilien-Welt: eigenes Magazin, eigene Über-uns-Seite und eigene FAQ. Muessen vor der
|
||||
// Projekt-Detailroute stehen, sonst wuerde diese die Pfade als Projekt-Slug lesen.
|
||||
Route::get('/immobilien/magazin', function () {
|
||||
return view('web.magazin', ['world' => 'immobilien']);
|
||||
})->name('immobilien.magazin');
|
||||
|
||||
Route::get('/immobilien/ueber-b2in', function () {
|
||||
return view('web.immobilien-about');
|
||||
})->name('immobilien.about');
|
||||
|
||||
Route::get('/immobilien/faq', function () {
|
||||
return view('web.faq', ['section' => 'faq_immobilien']);
|
||||
})->name('immobilien.faq');
|
||||
|
||||
Route::get('/immobilien/kontakt', function () {
|
||||
return view('web.contact', ['world' => 'immobilien']);
|
||||
})->name('immobilien.contact');
|
||||
|
||||
Route::get('/immobilien/{slug}', function (Request $request, string $slug) use ($isAziziSourcePreview, $loadAziziContent) {
|
||||
$content = $loadAziziContent();
|
||||
$dev = $isAziziSourcePreview($request);
|
||||
|
|
@ -117,6 +135,12 @@ Route::get('/magazin/{id}', function (string $id) {
|
|||
})->whereNumber('id')->name('magazin.detail.legacy');
|
||||
|
||||
Route::get('/magazin/{slug}', function (string $slug) {
|
||||
// Die Detailseite rendert in der Welt ihres Beitrags (Dubai-Themen bleiben blau). Die Welt
|
||||
// muss vor dem Rendern feststehen, weil Kopf- und Fusszeile sie in mount() festhalten.
|
||||
$article = \App\Models\CmsArticle::forFrontend()[$slug] ?? null;
|
||||
abort_unless($article !== null, 404);
|
||||
b2in_world_set($article['world'] ?? 'interior');
|
||||
|
||||
return view('web.magazin-detail', compact('slug'));
|
||||
})->name('magazin.detail');
|
||||
// Kernmarken: Uebersichtsseite und Detailseite je Marke.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue