templateManager->getActiveTemplate($templateType); if (! $template) { return $next($request); } $identifier = $template['identifier'] ?? null; if (! $identifier) { return $next($request); } // 의존성 충족 상태 확인 $unmetDependencies = $this->templateManager->getUnmetDependencies($identifier); $hasUnmetModules = ! empty($unmetDependencies['modules']); $hasUnmetPlugins = ! empty($unmetDependencies['plugins']); if ($hasUnmetModules || $hasUnmetPlugins) { // 503 에러 레이아웃을 템플릿 엔진이 렌더링하도록 설정 // 뷰 파일(app.blade.php 또는 admin.blade.php)에서 에러 레이아웃을 로드 $viewName = $templateType === 'admin' ? 'admin' : 'app'; return response()->view($viewName, [ 'errorCode' => 503, 'errorLayout' => 'errors/503', 'unmetDependencies' => $unmetDependencies, ], 503); } return $next($request); } }