b2in/dev/DOMAINS-CONFIG.md
2025-10-20 17:50:35 +02:00

2.9 KiB

Multi-Domain-Konfiguration für Laravel

Dieses Projekt unterstützt mehrere Domains mit unterschiedlichen Styles und Konfigurationen. Die Domains werden über .env-Variablen konfiguriert.

Basis-Konfiguration

Füge die folgenden Variablen zu deiner .env-Datei hinzu:

# Domain-Konfigurationen
DOMAIN_ADMIN=portal.b2in.local
DOMAIN_ADMIN_NAME="Admin Portal"

DOMAIN_MAIN=b2in.local
DOMAIN_MAIN_NAME="B2in"

DOMAIN_LANDING1=landing1.local
DOMAIN_LANDING1_NAME="Landing 1"
DOMAIN_LANDING1_PRIMARY="#4f46e5"
DOMAIN_LANDING1_ACCENT="#f59e0b"

DOMAIN_LANDING2=landing2.local
DOMAIN_LANDING2_NAME="Landing 2"
DOMAIN_LANDING2_PRIMARY="#0d9488"
DOMAIN_LANDING2_ACCENT="#ec4899"

# Entwicklungseinstellungen für Domains
DEV_SIMULATE_DOMAIN=false
DEV_SIMULATED_DOMAIN=b2in.local

Entwicklungsmodus

Während der Entwicklung kann es nützlich sein, verschiedene Domains zu simulieren, ohne die Host-Datei bearbeiten zu müssen:

  1. Setze DEV_SIMULATE_DOMAIN=true in deiner .env-Datei.
  2. Setze DEV_SIMULATED_DOMAIN auf eine der konfigurierten Domains (z.B. landing1.local).

Dies bewirkt, dass die Anwendung so reagiert, als würde sie unter der angegebenen Domain laufen, unabhängig von der tatsächlichen URL.

Domain-spezifische Konfiguration

Jede Domain kann eigene Einstellungen haben:

Admin-Portal (portal.b2in.local)

  • DOMAIN_ADMIN: Die Domain für den Admin-Bereich
  • DOMAIN_ADMIN_NAME: Der Name des Admin-Bereichs

Haupt-Website (b2in.local)

  • DOMAIN_MAIN: Die Domain für die Haupt-Website
  • DOMAIN_MAIN_NAME: Der Name der Haupt-Website

Landing-Page 1 (landing1.local)

  • DOMAIN_LANDING1: Die Domain für Landing-Page 1
  • DOMAIN_LANDING1_NAME: Der Name der Landing-Page 1
  • DOMAIN_LANDING1_PRIMARY: Die primäre Farbe im HEX-Format (z.B. #4f46e5)
  • DOMAIN_LANDING1_ACCENT: Die Akzentfarbe im HEX-Format (z.B. #f59e0b)

Landing-Page 2 (landing2.local)

  • DOMAIN_LANDING2: Die Domain für Landing-Page 2
  • DOMAIN_LANDING2_NAME: Der Name der Landing-Page 2
  • DOMAIN_LANDING2_PRIMARY: Die primäre Farbe im HEX-Format (z.B. #0d9488)
  • DOMAIN_LANDING2_ACCENT: Die Akzentfarbe im HEX-Format (z.B. #ec4899)

Hosts-Datei konfigurieren

Um die verschiedenen Domains lokal zu testen, füge folgende Zeilen zu deiner Hosts-Datei hinzu:

127.0.0.1    portal.b2in.local
127.0.0.1    b2in.local
127.0.0.1    landing1.local
127.0.0.1    landing2.local

Die Hosts-Datei befindet sich unter:

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • macOS/Linux: /etc/hosts

Verwendung im Code

Im Code kannst du auf die Domain-Konfiguration zugreifen:

// Domain-Name in einem View
{{ $domainName }}

// Theme in einem View
{{ $theme }}

// Vollständige Domain-Konfiguration
{{ $domainConfig['description'] }}

// Über die app-Config
{{ config('app.theme') }}
{{ config('app.domain_name') }}

Jede Domain lädt automatisch ihr eigenes CSS und andere domainspezifische Assets.