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 !!}