diff --git a/core/core.services.yml b/core/core.services.yml index 08374ec..da27ea0 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -287,7 +287,7 @@ services: - { name: route_enhancer, priority: 10 } controller.page: class: Drupal\Core\Controller\HtmlPageController - arguments: ['@http_kernel'] + arguments: ['@http_kernel', '@fragment_handler'] controller.dialog: class: Drupal\Core\Controller\DialogController arguments: ['@http_kernel'] diff --git a/core/lib/Drupal/Core/Controller/HtmlPageController.php b/core/lib/Drupal/Core/Controller/HtmlPageController.php index 795c653..89337a4 100644 --- a/core/lib/Drupal/Core/Controller/HtmlPageController.php +++ b/core/lib/Drupal/Core/Controller/HtmlPageController.php @@ -10,6 +10,7 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Controller\ControllerReference; +use Symfony\Component\HttpKernel\Fragment\FragmentHandler; use Symfony\Component\HttpKernel\HttpKernelInterface; /** @@ -25,12 +26,23 @@ class HtmlPageController { protected $httpKernel; /** + * The html fragment handler. + * + * @var \Symfony\Component\HttpKernel\Fragment\FragmentHandler + */ + protected $fragmentHandler; + + /** * Constructs a new HtmlPageController. * * @param \Symfony\Component\HttpKernel\HttpKernelInterface $kernel + * The central http kernel. + * @param \Symfony\Component\HttpKernel\Fragment\FragmentHandler $fragment_handler + * The html fragment handler. */ - public function __construct(HttpKernelInterface $kernel) { + public function __construct(HttpKernelInterface $kernel, FragmentHandler $fragment_handler) { $this->httpKernel = $kernel; + $this->fragmentHandler = $fragment_handler; } /** @@ -61,7 +73,7 @@ public function content(Request $request, $_content) { $attributes_array = $attributes->all() ?: array(); $query = $request->query->all() ?: array(); - $page_content = $this->container->get('fragment_handler')->render(new ControllerReference($controller, $attributes_array, $query)); + $page_content = $this->fragmentHandler->render(new ControllerReference($controller, $attributes_array, $query)); $response = new Response(drupal_render_page($page_content));