diff --git a/beike/Admin/Http/Controllers/SettingController.php b/beike/Admin/Http/Controllers/SettingController.php index 794fa5a1..7c7ad548 100644 --- a/beike/Admin/Http/Controllers/SettingController.php +++ b/beike/Admin/Http/Controllers/SettingController.php @@ -16,6 +16,7 @@ use Beike\Repositories\CountryRepo; use Beike\Repositories\CurrencyRepo; use Beike\Repositories\CustomerGroupRepo; use Beike\Repositories\SettingRepo; +use Beike\Repositories\ThemeRepo; use Illuminate\Http\Request; class SettingController extends Controller @@ -27,10 +28,7 @@ class SettingController extends Controller */ public function index() { - $themes = [ - ['value' => 'default', 'label' => trans('admin/setting.theme_default')], - ['value' => 'black', 'label' => trans('admin/setting.theme_black')], - ]; + $themes = ThemeRepo::getAllThemes(); $tax_address = [ ['value' => 'shipping', 'label' => trans('admin/setting.shipping_address')], diff --git a/beike/Repositories/ThemeRepo.php b/beike/Repositories/ThemeRepo.php new file mode 100644 index 00000000..c1c81090 --- /dev/null +++ b/beike/Repositories/ThemeRepo.php @@ -0,0 +1,33 @@ + + * @created 2023-02-06 17:06:11 + * @modified 2023-02-06 17:06:11 + */ + +namespace Beike\Repositories; + +use Illuminate\Support\Str; + +class ThemeRepo +{ + public static function getAllThemes() + { + $path = base_path('themes'); + $themePaths = glob($path . '/*'); + $themes = []; + foreach ($themePaths as $themePath) { + $theme = trim(str_replace($path, '', $themePath), '/'); + $themes[] = [ + 'value' => $theme, + 'label' => Str::studly($theme), + ]; + } + + return $themes; + } +}