diff --git a/beike/Admin/Providers/AdminServiceProvider.php b/beike/Admin/Providers/AdminServiceProvider.php index f17d079b..bec2c582 100644 --- a/beike/Admin/Providers/AdminServiceProvider.php +++ b/beike/Admin/Providers/AdminServiceProvider.php @@ -41,7 +41,6 @@ class AdminServiceProvider extends ServiceProvider 'form-input' => Input::class, ]); - $this->loadSettings(); $this->registerGuard(); if ($this->app->runningInConsole()) { @@ -58,20 +57,6 @@ class AdminServiceProvider extends ServiceProvider ]); } - protected function loadSettings() - { - $settings = Setting::all(['name', 'value', 'json']) - ->keyBy('name') - ->transform(function ($setting) { - if ($setting->json) { - return \json_decode($setting->value, true); - } - return $setting->value; - }) - ->toArray(); - config(['global' => $settings]); - } - protected function registerGuard() { Config::set('auth.guards.'.AdminUser::AUTH_GUARD, [ diff --git a/beike/Shop/Http/Controllers/HomeController.php b/beike/Shop/Http/Controllers/HomeController.php index a2d1e277..d656b618 100644 --- a/beike/Shop/Http/Controllers/HomeController.php +++ b/beike/Shop/Http/Controllers/HomeController.php @@ -10,9 +10,22 @@ class HomeController extends Controller { $data = [ 'category_products' => ProductRepo::getProductsByCategories([100002, 100003, 100004, 100005]), - 'renders' => ['render-slide_show'] ]; + $html = ''; + $designSettings = setting('system.design_setting'); + $modules = $designSettings['form']['modules'] ?? []; + + foreach ($modules as $module) { + $code = $module['code']; + $content = $module['content']; + $viewPath = "design.module.{$code}.render.index"; + if (view()->exists($viewPath)) { + $html .= view($viewPath, $content)->render(); + } + } + $data['html'] = $html; + return view('home', $data); } } diff --git a/beike/Shop/Providers/ShopServiceProvider.php b/beike/Shop/Providers/ShopServiceProvider.php index 8ec0c678..c4d0a6f9 100644 --- a/beike/Shop/Providers/ShopServiceProvider.php +++ b/beike/Shop/Providers/ShopServiceProvider.php @@ -53,7 +53,7 @@ class ShopServiceProvider extends ServiceProvider $name = $groupSetting->name; $value = $groupSetting->value; if ($groupSetting->json) { - $result[$space][$name] = json_encode($value); + $result[$space][$name] = json_decode($value, true); } else { $result[$space][$name] = $value; } diff --git a/beike/Shop/View/DesignBuilders/SlideShow/Render.php b/beike/Shop/View/DesignBuilders/SlideShow/Render.php index af2957b3..21691f86 100644 --- a/beike/Shop/View/DesignBuilders/SlideShow/Render.php +++ b/beike/Shop/View/DesignBuilders/SlideShow/Render.php @@ -16,13 +16,18 @@ use Illuminate\Contracts\View\View; class Render extends Component { + private $settings; + /** * Create a new component instance. * * @return void */ - public function __construct() + public function __construct($settings = []) { + if ($settings) { + $this->settings = $settings; + } } /** @@ -32,6 +37,6 @@ class Render extends Component */ public function render(): View { - return view('design.module.slideshow.render.index'); + return view('design.module.slideshow.render.index', $this->settings); } } diff --git a/themes/default/home.blade.php b/themes/default/home.blade.php index 253072e4..4e3911f1 100644 --- a/themes/default/home.blade.php +++ b/themes/default/home.blade.php @@ -3,9 +3,11 @@ @section('content') -@foreach($renders as $render) - -@endforeach +{{--@foreach($renders as $render)--}} +{{-- --}} +{{--@endforeach--}} + +{!! $html !!}