$sections */ $sections = config('cms_section_map.sections', []); $theme = config('app.theme', 'b2in'); $added = []; foreach ($sections as $sectionKey => [$group, $key]) { $row = CmsContent::query()->where('group', $group)->where('key', $key)->first(); if (! $row) { continue; } $skip = UnusedCmsContentCleanupSeeder::UNUSED_FIELDS["{$group}.{$key}"] ?? []; $value = $row->getTranslations('value'); $fields = []; foreach ($value as $locale => $content) { $defaults = trans("b2in.themes.{$theme}.{$sectionKey}", [], $locale); if (! is_array($content) || ! is_array($defaults)) { continue; } foreach ($defaults as $field => $default) { if (! array_key_exists($field, $content) && ! in_array($field, $skip, true)) { $content[$field] = $default; $fields[$field] = true; } } $value[$locale] = $content; } if ($fields === []) { continue; } $row->value = $value; $row->save(); app(CmsContentService::class)->clearCache($group); $added[] = "{$group}.{$key} (".implode(', ', array_keys($fields)).')'; } $this->command?->info($added === [] ? 'CMS-Felder: alle Einträge vollständig.' : 'CMS-Felder ergänzt: '.implode('; ', $added).'.'); } }