CMS: Standorte an der Marke, Seitenbaum mit Vorschau, Referenzen-Modul
Nachtrag 11: Herkunfts-Sektion liest Ort, Entfernung und Rolle aus der Markenverwaltung (drei neue Felder an cms_brands, BrandOriginSeeder), Kartenpositionen im Code, „Marken“ in der Sidebar. Nachtrag 12: Inhalte-Editor zeigt die Seiten der Website mit ihren Sektionen in Reihenfolge (config/cms_pages.php, CmsPageTree), Felder in Klartext, fehlende Sektionen aus der Sprachdatei anlegbar, Vorschau der echten Seite im iframe mit Sprung zur Sektion; Anker an allen lebenden Sektionen nachgezogen. Nachtrag 13: Referenzen als eigenes Modul (CmsReference, Portal-Seite, /referenzen mit Fallback auf die Markengalerien); Immobilien-Projekte aus Sidebar und CMS-Übersicht genommen, Route bleibt. Dazu .gitignore für _b2in_interior_shop/ und docs/. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
7953a8c9a1
commit
90aa079cf7
50 changed files with 2580 additions and 324 deletions
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
use App\Models\CmsArticle;
|
||||
use App\Models\CmsBrand;
|
||||
use App\Models\CmsProject;
|
||||
use App\Models\CmsReference;
|
||||
use FluxCms\Core\Models\CmsContent;
|
||||
use FluxCms\Core\Models\CmsMedia;
|
||||
use function Livewire\Volt\{layout, title, computed};
|
||||
|
|
@ -13,8 +13,8 @@ title('CMS Dashboard');
|
|||
$stats = computed(fn () => [
|
||||
'contents' => CmsContent::count(),
|
||||
'groups' => CmsContent::distinct()->pluck('group')->count(),
|
||||
'projects' => CmsProject::count(),
|
||||
'projects_published' => CmsProject::published()->count(),
|
||||
'references' => CmsReference::count(),
|
||||
'references_published' => CmsReference::published()->count(),
|
||||
'articles' => CmsArticle::count(),
|
||||
'articles_published' => CmsArticle::published()->count(),
|
||||
'brands' => CmsBrand::count(),
|
||||
|
|
@ -27,7 +27,7 @@ $stats = computed(fn () => [
|
|||
<div>
|
||||
<div class="mb-6">
|
||||
<flux:heading size="xl">CMS</flux:heading>
|
||||
<flux:text class="mt-1">Inhalte, Projekte und Medien verwalten.</flux:text>
|
||||
<flux:text class="mt-1">Inhalte, Referenzen, Marken, Magazin und Medien verwalten.</flux:text>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4">
|
||||
|
|
@ -43,13 +43,13 @@ $stats = computed(fn () => [
|
|||
</flux:card>
|
||||
</a>
|
||||
|
||||
<a href="{{ route('cms.projects.index') }}" wire:navigate>
|
||||
<a href="{{ route('cms.references.index') }}" wire:navigate>
|
||||
<flux:card class="hover:border-emerald-500 transition-colors">
|
||||
<div class="flex items-center gap-3">
|
||||
<flux:icon name="building-office" class="text-emerald-500" />
|
||||
<flux:icon name="photo" class="text-emerald-500" />
|
||||
<div>
|
||||
<flux:heading size="lg">{{ $this->stats['projects'] }}</flux:heading>
|
||||
<flux:text class="text-sm">Projekte ({{ $this->stats['projects_published'] }} veröffentlicht)</flux:text>
|
||||
<flux:heading size="lg">{{ $this->stats['references'] }}</flux:heading>
|
||||
<flux:text class="text-sm">Referenzen ({{ $this->stats['references_published'] }} veröffentlicht)</flux:text>
|
||||
</div>
|
||||
</div>
|
||||
</flux:card>
|
||||
|
|
@ -107,7 +107,7 @@ $stats = computed(fn () => [
|
|||
</p>
|
||||
<ul class="mt-2 ml-5 list-disc space-y-1">
|
||||
<li><strong class="font-medium text-zinc-800 dark:text-zinc-200">Inhalte</strong> – Texte, Abschnitte und strukturierte Daten der Website (z. B. Startseite, Netzwerk, rechtliche Texte). Inhalte sind in <em>Gruppen</em> organisiert, sodass zusammengehörige Felder gebündelt bearbeitet werden können.</li>
|
||||
<li><strong class="font-medium text-zinc-800 dark:text-zinc-200">Projekte</strong> – Immobilien-Referenzobjekte mit Bildern, Preisen und Beschreibungen. Jedes Projekt kann als Entwurf angelegt und später veröffentlicht werden.</li>
|
||||
<li><strong class="font-medium text-zinc-800 dark:text-zinc-200">Referenzen</strong> – Realisierte Projekte für die Seite /referenzen mit Titelbild, weiteren Bildern und den beteiligten Marken. Nur ausgeführte Aufträge; Entwürfe gehören in die Galerie der Marke.</li>
|
||||
<li><strong class="font-medium text-zinc-800 dark:text-zinc-200">Magazin</strong> – Redaktionelle Artikel (z. B. über Dubai-Immobilien, Supply-Chain oder Einrichtung). Artikel unterstützen Kategorien, Autoren und Lesezeiten.</li>
|
||||
<li><strong class="font-medium text-zinc-800 dark:text-zinc-200">Medien</strong> – Zentrale Bild- und Dateiverwaltung. Alle Uploads landen hier und können in jedem Modul wiederverwendet werden.</li>
|
||||
</ul>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue