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>
172 lines
11 KiB
PHP
172 lines
11 KiB
PHP
<?php
|
||
|
||
namespace Database\Seeders;
|
||
|
||
use App\Models\CmsBrand;
|
||
use Illuminate\Database\Seeder;
|
||
|
||
/**
|
||
* Legt die Kernmarken an. Texte aus dev/2026-08-28/umsetzung-inhalte.md §5.
|
||
*
|
||
* Die vierte Marke ist Otterpohl aus Rheda-Wiedenbrück (Arbeitsplan 14.09.2026, Punkt 1.2;
|
||
* Zulieferung 17.09.2026). Ihre Texte liegen in {@see OtterpohlBrandSeeder}, der sie bei
|
||
* bestehenden Installationen auch nachträgt. Der Slug „tischlerei“ bleibt stabil.
|
||
*
|
||
* Bestehende Marken werden nicht überschrieben – Marcel pflegt sie im Admin. Für bereits
|
||
* angelegte Marken setzt {@see BrandLogoSeeder} die Logos nach und {@see BrandOriginSeeder}
|
||
* den Fertigungsort für die Herkunfts-Sektion (Nachtrag 11).
|
||
*
|
||
* Stimmungsbilder und Galerien fehlen als Zulieferung und bleiben leer; die Kacheln und
|
||
* Detailseiten zeigen so lange einen Platzhalter.
|
||
*/
|
||
class CmsBrandSeeder extends Seeder
|
||
{
|
||
public function run(): void
|
||
{
|
||
$created = 0;
|
||
|
||
foreach ($this->brands() as $index => $data) {
|
||
if (CmsBrand::query()->where('slug', $data['slug'])->exists()) {
|
||
continue;
|
||
}
|
||
|
||
CmsBrand::query()->create(array_merge($data, ['order' => $index + 1]));
|
||
$created++;
|
||
}
|
||
|
||
$this->command?->info("Kernmarken: {$created} angelegt.");
|
||
}
|
||
|
||
/**
|
||
* @return array<int, array<string, mixed>>
|
||
*/
|
||
private function brands(): array
|
||
{
|
||
return [
|
||
[
|
||
'slug' => 'cabinet',
|
||
'logo' => 'marken/cabinet.svg',
|
||
'name' => ['de' => 'CABINET', 'en' => 'CABINET'],
|
||
'tagline' => ['de' => 'Einbauschränke nach Maß.', 'en' => 'Fitted wardrobes made to measure.'],
|
||
'teaser' => [
|
||
'de' => 'Maßgefertigte Schranklösungen, geplant bis auf den Millimeter – gefertigt für Räume, in denen Standard nicht genügt.',
|
||
'en' => 'Bespoke wardrobe solutions, planned to the millimetre – built for rooms where standard will not do.',
|
||
],
|
||
'summary' => [
|
||
'de' => 'Wo Standardmaße an ihre Grenzen stoßen, fängt CABINET an. Schranklösungen, die exakt in Ihren Raum geplant werden – von der Dachschräge über die Nische bis zur raumhohen Front. Gefertigt in der Qualität, die man erst beim zweiten Hinschauen ganz erfasst.
|
||
|
||
Erleben Sie die Möglichkeiten in unserem Showroom in Bielefeld.',
|
||
'en' => 'Where standard dimensions reach their limits, CABINET begins. Wardrobe solutions planned precisely for your room – from sloped ceilings and alcoves to full-height fronts. Built to a quality you only fully grasp on second look.
|
||
|
||
Experience the possibilities in our Bielefeld showroom.',
|
||
],
|
||
'highlights' => [
|
||
'Millimetergenaue Planung',
|
||
'Individuelle Fronten und Innenausstattung',
|
||
'Persönliche Beratung vor Ort',
|
||
],
|
||
'description' => [
|
||
'de' => '<p>CABINET steht für Einbaulösungen, die sich dem Raum anpassen statt umgekehrt. Jedes Element wird für seinen Platz geplant – vom Dachschrägenschrank bis zur raumhohen Garderobe. Gefertigt in Deutschland, montiert von Fachleuten, die den Unterschied zwischen „passt" und „sitzt" kennen.</p>',
|
||
'en' => '<p>CABINET stands for built-in solutions that adapt to the room rather than the other way round. Every element is planned for its place – from sloped-ceiling wardrobes to full-height hallway storage. Made in Germany, installed by specialists who know the difference between fitting and belonging.</p>',
|
||
],
|
||
'services' => [
|
||
['title' => 'Aufmaß vor Ort', 'description' => 'Nach Angebotsannahme und Anzahlung erfolgt das professionelle Aufmaß bei Ihnen vor Ort. Es bildet die Grundlage für die finale Feinplanung und Fertigungsfreigabe.'],
|
||
['title' => 'Individuelle Planung', 'description' => 'Grundriss, Nutzung und Stil bestimmen die Lösung, nicht der Katalog.'],
|
||
['title' => 'Fertigung in Deutschland', 'description' => 'Materialien und Verarbeitung, die auf Dauer angelegt sind.'],
|
||
['title' => 'Montage durch Fachleute', 'description' => 'Wir liefern und montieren – bis zum letzten Detail.'],
|
||
],
|
||
'showroom' => 'Showroom Bielefeld',
|
||
'origin_city' => ['de' => 'Köln', 'en' => 'Cologne'],
|
||
'origin_distance' => ['de' => 'rund 200 km', 'en' => 'about 200 km'],
|
||
'origin_role' => [
|
||
'de' => 'Gefertigt in der Kölner Manufaktur, beraten und geplant im CABINET Store Bielefeld.',
|
||
'en' => 'Made in the Cologne manufactory, advised and planned at the CABINET Store Bielefeld.',
|
||
],
|
||
'is_published' => true,
|
||
],
|
||
[
|
||
'slug' => 'rotpunkt',
|
||
'logo' => 'marken/rotpunkt.svg',
|
||
'name' => ['de' => 'Rotpunkt Küchen', 'en' => 'Rotpunkt Küchen'],
|
||
'tagline' => ['de' => 'Küchen, die Haltung zeigen.', 'en' => 'Kitchens with character.'],
|
||
'teaser' => [
|
||
'de' => 'Premium-Küchen aus deutscher Fertigung – individuell geplant, nachhaltig gedacht und gebaut für den Mittelpunkt Ihres Zuhauses.',
|
||
'en' => 'Premium kitchens made in Germany – individually planned, sustainably conceived and built for the heart of your home.',
|
||
],
|
||
'summary' => [
|
||
'de' => 'Premium-Küchen aus deutscher Fertigung – individuell geplant und gebaut für den Raum, in dem am meisten passiert. Rotpunkt steht für durchdachte Funktion, langlebige Materialien und einen Anspruch an Nachhaltigkeit, der über das Marketing hinausgeht.
|
||
|
||
Beratung und Planung in unserem Küchenstudio.',
|
||
'en' => 'Premium kitchens made in Germany – individually planned and built for the room where most of life happens. Rotpunkt stands for considered function, durable materials and a commitment to sustainability that goes beyond marketing.
|
||
|
||
Consultation and planning in our kitchen studio.',
|
||
],
|
||
'highlights' => [
|
||
'Fertigung in Deutschland',
|
||
'Individuelle Planung nach Ihrem Grundriss',
|
||
'Nachhaltige Materialien',
|
||
],
|
||
'description' => [
|
||
'de' => '<p>Die Küche ist der Raum, in dem sich das Leben sammelt. Rotpunkt fertigt sie in Deutschland, mit Blick auf Materialien, die halten, und auf eine Planung, die zum Alltag passt – nicht zum Prospekt. Wir begleiten von der ersten Skizze bis zur fertigen Küche.</p>',
|
||
'en' => '<p>The kitchen is where life gathers. Rotpunkt builds them in Germany, with an eye on materials that last and on planning that fits everyday life – not a brochure. We accompany you from the first sketch to the finished kitchen.</p>',
|
||
],
|
||
'services' => [
|
||
['title' => 'Küchenplanung', 'description' => 'Gemeinsam entwickeln wir Grundriss, Stauraum und Arbeitswege.'],
|
||
['title' => 'Nachhaltige Materialien', 'description' => 'Deutsche Fertigung mit Blick auf Herkunft und Langlebigkeit.'],
|
||
['title' => 'Geräte und Technik', 'description' => 'Passende Ausstattung, abgestimmt auf Ihre Art zu kochen.'],
|
||
['title' => 'Lieferung und Aufbau', 'description' => 'Koordiniert aus einer Hand, inklusive Anschluss.'],
|
||
],
|
||
'showroom' => 'Küchenstudio',
|
||
'origin_city' => ['de' => 'Bünde', 'en' => 'Bünde'],
|
||
'origin_distance' => ['de' => 'rund 30 km', 'en' => 'about 30 km'],
|
||
'origin_role' => [
|
||
'de' => 'Küchen aus eigener Fertigung in Bünde – geplant bei uns im Küchenstudio.',
|
||
'en' => 'Kitchens from their own production in Bünde – planned with us in the kitchen studio.',
|
||
],
|
||
'is_published' => true,
|
||
],
|
||
[
|
||
'slug' => 'februe',
|
||
'logo' => 'marken/februe.png',
|
||
'name' => ['de' => 'Febrü', 'en' => 'Febrü'],
|
||
'tagline' => ['de' => 'Arbeiten, wo man gerne bleibt.', 'en' => 'Work where you like to stay.'],
|
||
'teaser' => [
|
||
'de' => 'Möbel für konzentriertes Arbeiten – vom durchdachten Homeoffice bis zur kompletten Büroeinrichtung.',
|
||
'en' => 'Furniture for focused work – from a well-considered home office to a complete office fit-out.',
|
||
],
|
||
'summary' => [
|
||
'de' => 'Ob Homeoffice oder ganze Büroetage: Febrü macht Möbel für konzentriertes Arbeiten. Höhenverstellbare Tische, durchdachte Stauraumlösungen und Sitzmöbel, die auch nach acht Stunden noch überzeugen – mit einem Design, das ins Zuhause genauso passt wie ins Unternehmen.',
|
||
'en' => 'Whether a home office or a whole office floor: Febrü makes furniture for focused work. Height-adjustable desks, well-considered storage and seating that still convinces after eight hours – with a design that suits the home as much as the company.',
|
||
],
|
||
'highlights' => [
|
||
'Ergonomie, die man merkt',
|
||
'Vom einzelnen Arbeitsplatz bis zur Bürofläche',
|
||
'Für Zuhause und fürs Unternehmen',
|
||
],
|
||
'description' => [
|
||
'de' => '<p>Gutes Arbeiten beginnt beim Möbel. Febrü baut Tische, Stühle und Stauraum, die den Rücken entlasten und den Raum ordnen – zuerst für das Zuhause, in dem immer öfter gearbeitet wird, und ebenso für Büros und Unternehmen.</p>',
|
||
'en' => '<p>Good work begins with the furniture. Febrü builds desks, chairs and storage that relieve the back and bring order to a room – first for the home, where more and more work happens, and equally for offices and companies.</p>',
|
||
],
|
||
'services' => [
|
||
['title' => 'Homeoffice', 'description' => 'Ein Arbeitsplatz, der sich ins Zuhause fügt, statt es zu besetzen.'],
|
||
['title' => 'Ergonomie', 'description' => 'Höhenverstellbare Tische und Sitzlösungen für langes Arbeiten.'],
|
||
['title' => 'Büroeinrichtung', 'description' => 'Vom einzelnen Arbeitsplatz bis zur kompletten Fläche.'],
|
||
['title' => 'Akustik und Ordnung', 'description' => 'Stauraum und Raumgliederung, die Konzentration ermöglichen.'],
|
||
],
|
||
'showroom' => '',
|
||
'origin_city' => ['de' => 'Herford', 'en' => 'Herford'],
|
||
'origin_distance' => ['de' => 'rund 20 km', 'en' => 'about 20 km'],
|
||
'origin_role' => [
|
||
'de' => 'Büro- und Objektmöbel aus eigener Fertigung in Herford.',
|
||
'en' => 'Office and contract furniture from their own production in Herford.',
|
||
],
|
||
'is_published' => true,
|
||
],
|
||
// Vierte Kernmarke Otterpohl (Nachtrag 15). Slug bleibt „tischlerei“, Texte aus OtterpohlBrandSeeder.
|
||
array_merge(OtterpohlBrandSeeder::data(), [
|
||
'slug' => OtterpohlBrandSeeder::SLUG,
|
||
'logo' => OtterpohlBrandSeeder::LOGO,
|
||
]),
|
||
];
|
||
}
|
||
}
|