diff --git a/beike/Shop/Http/Controllers/HomeController.php b/beike/Shop/Http/Controllers/HomeController.php index 0fbc46e1..d48c1516 100644 --- a/beike/Shop/Http/Controllers/HomeController.php +++ b/beike/Shop/Http/Controllers/HomeController.php @@ -2,24 +2,33 @@ namespace Beike\Shop\Http\Controllers; +use Illuminate\Contracts\View\View; + class HomeController extends Controller { - public function index() + /** + * 通过page builder 显示首页 + * + * @return View + */ + public function index(): View { - $html = ''; $designSettings = system_setting('base.design_setting'); $modules = $designSettings['modules'] ?? []; + $moduleItems = []; foreach ($modules as $module) { $code = $module['code']; $content = $module['content']; $viewPath = "design.{$code}"; if (view()->exists($viewPath)) { - $html .= view($viewPath, $content)->render(); + $moduleItems[] = [ + 'view_path' => $viewPath, + 'content' => $content + ]; } } - $data['html'] = $html; - return view('home', $data); + return view('home', ['modules' => $moduleItems]); } } diff --git a/themes/default/home.blade.php b/themes/default/home.blade.php index 2c96b03f..011ee226 100644 --- a/themes/default/home.blade.php +++ b/themes/default/home.blade.php @@ -3,11 +3,9 @@ @section('content') -{{--@foreach($renders as $render)--}} -{{-- --}} -{{--@endforeach--}} - -{!! $html !!} +@foreach($modules as $module) + @include($module['view_path'], $module['content']) +@endforeach {{--