'inventory_enabled', 'value' => '1', 'type' => 'boolean', 'group' => 'inventory', 'label' => 'Bestandsverwaltung aktivieren', 'description' => 'Aktiviert die Verwaltung von Produktmengen in den Slots. Wenn deaktiviert, werden nur Produktinformationen ohne Bestandsangaben angezeigt.' ], [ 'key' => 'low_stock_threshold', 'value' => '5', 'type' => 'integer', 'group' => 'inventory', 'label' => 'Warnschwelle für niedrigen Bestand', 'description' => 'Anzahl der Produkte, ab der ein Slot als "niedrig" markiert wird.' ], [ 'key' => 'show_stock_in_public', 'value' => '1', 'type' => 'boolean', 'group' => 'display', 'label' => 'Bestand öffentlich anzeigen', 'description' => 'Zeigt die verfügbare Anzahl von Produkten in der öffentlichen Ansicht an.' ], [ 'key' => 'show_out_of_stock', 'value' => '1', 'type' => 'boolean', 'group' => 'display', 'label' => 'Ausverkaufte Produkte anzeigen', 'description' => 'Zeigt Produkte auch dann an, wenn sie nicht mehr verfügbar sind (mit entsprechender Kennzeichnung).' ], // Allgemeine Einstellungen [ 'key' => 'site_name', 'value' => 'LMIV Snackautomat', 'type' => 'string', 'group' => 'general', 'label' => 'Website-Name', 'description' => 'Name der Website, der im Titel und in der Navigation angezeigt wird.' ], [ 'key' => 'contact_email', 'value' => 'admin@snackautomat.local', 'type' => 'string', 'group' => 'general', 'label' => 'Kontakt E-Mail', 'description' => 'E-Mail-Adresse für Supportanfragen und Kontaktformular.' ], // LMIV-Einstellungen [ 'key' => 'show_allergens_warning', 'value' => '1', 'type' => 'boolean', 'group' => 'lmiv', 'label' => 'Allergen-Warnung anzeigen', 'description' => 'Zeigt einen deutlichen Hinweis auf Allergene in der Produktansicht.' ], [ 'key' => 'require_nutrition_info', 'value' => '0', 'type' => 'boolean', 'group' => 'lmiv', 'label' => 'Nährwertangaben verpflichtend', 'description' => 'Macht die Eingabe von Nährwertangaben bei Produkten zur Pflicht.' ] ]; foreach ($settings as $setting) { Setting::updateOrCreate( ['key' => $setting['key']], $setting ); } } }