b2in/database/seeders/OtterpohlBrandSeeder.php
Kevin Adametz 4b07bbdcae 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>
2026-10-01 10:34:21 +00:00

193 lines
14 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Database\Seeders;
use App\Models\CmsBrand;
use Illuminate\Database\Seeder;
/**
* Otterpohl Möbelservice, Rheda-Wiedenbrück – die vierte Kernmarke (Nachtrag 15, Text v2 in Nachtrag 19).
*
* Ersetzt den Platzhalter „Tischlerei“ aus Nachtrag 9 durch die Zulieferung:
* dev/2026-08-28/otterpohl_Webseitentext_FINAL_v2.md (Text vom 24.09.2026, Überschriften 1:1 übernommen;
* löst die lange Fassung vom 17.09. ab)
* dev/2026-08-28/markenlogos/otterpohl.jpg (Logo, freigestellt nach public/img/assets/marken/)
*
* Der Slug `tischlerei` bleibt stabil (Links, Widget-Thema, Kartenposition der Herkunfts-Sektion).
* Überschrieben werden Name, Claim, Texte, Leistungen, Abschnitte, Abschlussblock und
* Fertigungsort. Bild, Galerie und Reihenfolge bleiben, das Logo wird nur gesetzt, wenn es leer ist.
* Ausnahme seit 01.10.2026: Steht noch das alte Werkstatt-Titelbild drin, tauscht es mit der
* Treppe aus der Galerie ({@see swapTitleImage()}). Dazu kam der Abschnitt „Montage“.
* {@see CmsBrandSeeder} nutzt dieselben Daten für frische Installationen.
*
* php artisan db:seed --class=OtterpohlBrandSeeder
*/
class OtterpohlBrandSeeder extends Seeder
{
public const SLUG = 'tischlerei';
public const LOGO = 'marken/otterpohl.png';
/** Titelbild seit 01.10.2026: dev/2026-08-28/images/otten/tittle_otter.png als WebP. */
public const TITLE_IMAGE = 'marken/otterpohl/titel-treppe.webp';
/** Titelbild bis 01.10.2026 – rückt in die Galerie. */
public const FORMER_TITLE_IMAGE = 'marken/otterpohl/werkstatt-titel.webp';
public const FORMER_TITLE_CAPTION = 'Fertigung in der Werkstatt in Rheda-Wiedenbrück';
/** Galeriebild mit demselben Motiv wie das neue Titelbild – fällt beim Tausch heraus. */
public const TITLE_IMAGE_IN_GALLERY = 'marken/otterpohl/referenz-luecke-01.webp';
public function run(): void
{
$brand = CmsBrand::query()->where('slug', self::SLUG)->first();
if (! $brand) {
$this->command?->warn('Marke „'.self::SLUG.'“ nicht gefunden – erst CmsBrandSeeder ausführen.');
return;
}
$brand->fill(self::data());
if (trim((string) $brand->logo) === '') {
$brand->logo = self::LOGO;
}
$swapped = self::swapTitleImage($brand);
$brand->save();
$this->command?->info('Otterpohl: Marke „'.self::SLUG.'“ mit den Texten vom 24.09.2026 (v2) und dem Abschnitt „Montage“ aktualisiert'
.($swapped ? ', Titelbild getauscht.' : '.'));
}
/**
* Tauscht Titelbild und Produktbild (Abstimmung 01.10.2026): Die Treppe mit Lamellenwand wird
* Titelbild, das bisherige Werkstattbild nimmt ihren Platz in der Galerie ein (Aus der Werkstatt).
*
* Nur solange noch das alte Titelbild gesetzt ist – ein im Backend gewähltes Bild bleibt.
*/
public static function swapTitleImage(CmsBrand $brand): bool
{
if ($brand->image !== self::FORMER_TITLE_IMAGE) {
return false;
}
$brand->image = self::TITLE_IMAGE;
$gallery = CmsBrand::normalizeGallery($brand->gallery);
$former = ['image' => self::FORMER_TITLE_IMAGE, 'category' => CmsBrand::GALLERY_COMPANY, 'caption' => self::FORMER_TITLE_CAPTION];
$position = array_search(self::TITLE_IMAGE_IN_GALLERY, array_column($gallery, 'image'), true);
if ($position !== false) {
$gallery[$position] = $former;
} elseif (! in_array(self::FORMER_TITLE_IMAGE, array_column($gallery, 'image'), true)) {
$gallery[] = $former;
}
$brand->gallery = array_values($gallery);
return true;
}
/**
* Alle Textfelder der Marke. Ohne slug, logo, image, gallery, order.
*
* Reihenfolge wie in der Zulieferung v2: Einleitung „Wollmilchsau“, zwei Abschnitte, die acht
* Leistungen, zum Schluss „Das Ganze statt nur das Einzelne“ – der steht als Abschlussblock
* (cta_title/cta_text), damit er auf der Seite hinter Leistungen und Galerie bleibt.
*
* @return array<string, mixed>
*/
public static function data(): array
{
return [
'name' => ['de' => 'Otterpohl Möbelservice', 'en' => 'Otterpohl Möbelservice'],
'tagline' => ['de' => 'Nicht easy click & buy. Aber dennoch easy to get.', 'en' => 'Not easy click & buy. But still easy to get.'],
'teaser' => [
'de' => 'Individuelle Möbel, Türen, Treppen, Küchen, Wandverkleidungen und Objektbau – bis hin zum kompletten Innenausbau. Tischlerhandwerk aus Rheda-Wiedenbrück.',
'en' => 'Bespoke furniture, doors, stairs, kitchens, wall cladding and contract work – up to complete interior fit-outs. Joinery from Rheda-Wiedenbrück.',
],
'summary' => [
'de' => 'Individuelle Möbel. Türen. Treppen. Küchen. Wandverkleidungen. Objektbau. Sonderanfertigungen. Lackierungen und Echtholzfurniere. Bis hin zum kompletten Innenausbau. Mit Otterpohl Möbelservice haben wir einen Partner an unserer Seite, bei dem die Möglichkeiten nicht am einzelnen Möbelstück aufhören.
Denn manchmal braucht ein Raum mehr als einen Schrank oder ein Sideboard. Vielleicht soll eine Treppe Teil des Gestaltungskonzepts werden. Eine Wand erhält eine individuelle Holzverkleidung. Oder Möbel, Materialien und bauliche Elemente müssen so zusammenspielen, dass am Ende alles wie aus einem Guss wirkt. Genau dort beginnt der individuelle Innenausbau.',
'en' => 'Bespoke furniture. Doors. Stairs. Kitchens. Wall cladding. Contract work. Special constructions. Lacquer and real-wood veneer. Up to complete interior fit-outs. With Otterpohl Möbelservice we have a partner whose possibilities do not end at the single piece of furniture.
Sometimes a room needs more than a wardrobe or a sideboard. A staircase becomes part of the design. A wall gets individual wood cladding. Or furniture, materials and built elements have to work together so that everything looks as if cast from one mould. That is where individual interior fit-out begins.',
],
'highlights' => [
'Individuelle Möbel, Türen, Treppen und Küchen',
'Innenausbau, Objektbau, Lack und Echtholzfurnier',
'Planung und Handwerk aus einer Hand – inklusive Montage',
],
'description' => ['de' => '', 'en' => ''],
'services' => [
['title' => 'Individuelle Möbel & Sonderanfertigungen', 'description' => 'Möbel nach Maß, besondere Konstruktionen und individuelle Lösungen – nach Planung, Idee, Skizze oder konkreter Anforderung.'],
['title' => 'Innenausbau', 'description' => 'Von einzelnen Ausbauarbeiten bis zum ganzheitlichen Raumkonzept – inklusive individueller Verkleidungen und maßgefertigter Einbauten.'],
['title' => 'Türen & Treppen', 'description' => 'Individuelle Türen, Treppen und konstruktive Lösungen, die sich in Architektur und Einrichtung einfügen.'],
['title' => 'Küchen', 'description' => 'Individuelle Küchenlösungen und handwerkliche Ergänzungen auch dort, wo klassische Küchenprogramme an ihre Grenzen kommen.'],
['title' => 'Wandverkleidungen & besondere Details', 'description' => 'Holzverkleidungen, Lamellen, Paneele und individuelle Gestaltungselemente, die Architektur und Einrichtung miteinander verbinden.'],
['title' => 'Objektbau', 'description' => 'Individuelle Lösungen für Büros, Verkaufsräume und gewerblich genutzte Flächen – vom Einzelmöbel bis zum kompletten Ausbau.'],
['title' => 'Lack & Echtholzfurnier', 'description' => 'Individuelle Lackierungen und Furniere für Lösungen, bei denen Farbe, Material und Oberfläche exakt aufeinander abgestimmt werden sollen.'],
['title' => 'Montage', 'description' => 'Die Umsetzung endet nicht bei der Fertigung. Entscheidend ist, dass Möbel, Ausbau und Raum am Ende auch vor Ort sauber zusammenkommen.'],
],
'sections' => [
[
'title' => 'Ziemlich nah an der eierlegenden Wollmilchsau',
'paragraphs' => [
'Der Begriff ist vielleicht nicht besonders elegant. Aber ganz falsch ist er nicht.',
'Individuelle Möbel. Türen. Treppen. Küchen. Wandverkleidungen. Objektbau. Sonderanfertigungen. Lackierungen und Echtholzfurniere. Bis hin zum kompletten Innenausbau.',
'Mit Otterpohl Möbelservice haben wir einen Partner an unserer Seite, bei dem die Möglichkeiten nicht am einzelnen Möbelstück aufhören.',
'Denn manchmal braucht ein Raum mehr als einen Schrank oder ein Sideboard. Vielleicht soll eine Treppe Teil des Gestaltungskonzepts werden. Eine Wand erhält eine individuelle Holzverkleidung. Eine Tür soll sich selbstverständlich in den Raum einfügen. Oder Möbel, Materialien und bauliche Elemente müssen so zusammenspielen, dass am Ende alles wie aus einem Guss wirkt.',
],
'claim' => 'Genau dort beginnt der individuelle Innenausbau.',
],
[
'title' => 'Vom einzelnen Möbel bis zum ganzen Raum',
'paragraphs' => [
'Wir arbeiten mit Herstellern, die schon sehr viele individuelle Möglichkeiten bieten. CABINET, Rotpunkt und Febrü geben uns dafür eine starke Basis. Aber es gibt Projekte, bei denen die Lösung darüber hinausgeht.',
'Mit Otterpohl Möbelservice können wir deshalb nicht nur individuelle Möbel und Sonderanfertigungen realisieren, sondern auch Türen, Treppen, Küchen, Wand- und Deckenverkleidungen sowie komplette Innenausbauten und Lösungen für den Objektbereich einbeziehen.',
],
'claim' => 'So können wir Räume ganzheitlicher denken – und Details nicht isoliert betrachten.',
],
[
'title' => 'Planung trifft Handwerk',
'paragraphs' => [
'Manchmal entsteht die beste Lösung aus einem Möbelprogramm. Manchmal braucht es eine individuelle Ergänzung. Und manchmal muss etwas komplett neu gedacht und gebaut werden. Genau diese Kombination macht für uns den Unterschied.',
'Wir planen den Raum und verbinden bei Bedarf unterschiedliche Hersteller, Materialien und handwerkliche Lösungen miteinander. Otterpohl Möbelservice ergänzt diese Planung um die Möglichkeiten einer klassischen Tischlerei und eines erfahrenen Innenausbauers.',
],
'claim' => 'Das Ergebnis kann ein einzelnes Möbel sein. Oder ein kompletter Raum.',
],
// Ergänzung vom 01.10.2026. Absätze mit „- “ erscheinen als Liste, der Teil vor dem
// ersten Doppelpunkt fett ({@see CmsBrand::paragraphBlocks()}).
[
'title' => 'Montage',
'paragraphs' => [
'Eine perfekte Montage ist keine Glückssache, sondern das Ergebnis starker Logistik. Wir sorgen dafür, dass alles Hand in Hand geht:',
'- Sichere Prüfung & Terminierung: Wir vereinbaren Ihren Montagetermin erst, wenn Ihre Lieferung vollständig und unversehrt bei uns geprüft wurde. Das garantiert Ihnen absolute Planungssicherheit.',
'- Perfekt vorbereitete Lieferung: Wir prüfen vorab die Anliefersituation bei Ihnen vor Ort. Die Lieferung erfolgt mit unserem modernen Fuhrpark, optimal geschützt durch Spezialfolien und Decken.',
'- Flexibler Renovierungsschutz: Ihr Bauprojekt verzögert sich? Kein Problem. Wir lagern Ihre Möbel fachgerecht und sicher ein.',
'- Erweiterter Komfort: Auf Wunsch liefern wir Umzugskartons, lagern Möbel zwischen oder passen vorhandene Möbelstücke direkt an.',
],
],
],
'widget_label' => ['de' => 'Persönliche Beratung zur Maßarbeit vereinbaren', 'en' => 'Arrange a personal consultation on bespoke work'],
'cta_title' => ['de' => 'Das Ganze statt nur das Einzelne', 'en' => 'The whole, not just the single piece'],
'cta_text' => [
'de' => 'Genau deshalb passt Otterpohl Möbelservice zu unserem Ansatz: Wir möchten Räume nicht in einzelne Gewerke zerlegen, sondern Lösungen schaffen, bei denen Möbel, Materialien, Architektur und handwerkliche Details zusammenpassen. Mal braucht es dafür einen Hersteller. Mal einen Tischler. Und manchmal beides. Nicht easy click & buy. Aber dennoch easy to get.',
'en' => 'That is why Otterpohl Möbelservice fits our approach: we do not want to split rooms into single trades, but create solutions where furniture, materials, architecture and craft details belong together. Sometimes that takes a manufacturer. Sometimes a joiner. And sometimes both. Not easy click & buy. But still easy to get.',
],
'origin_city' => ['de' => 'Rheda-Wiedenbrück', 'en' => 'Rheda-Wiedenbrück'],
'origin_distance' => ['de' => 'rund 35 km', 'en' => 'about 35 km'],
'origin_role' => [
'de' => 'Tischlerei und Innenausbau aus Rheda-Wiedenbrück – vom einzelnen Möbel bis zum ganzen Raum, inklusive Montage.',
'en' => 'Joinery and interior fit-out from Rheda-Wiedenbrück – from a single piece to the whole room, installation included.',
],
'showroom' => '',
'is_published' => true,
];
}
}