Loading core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php +3 −3 Original line number Diff line number Diff line Loading @@ -219,6 +219,7 @@ protected function prepare(array $main_content, Request $request, RouteMatchInte $event = new PageDisplayVariantSelectionEvent('simple_page', $route_match); $this->eventDispatcher->dispatch($event, RenderEvents::SELECT_PAGE_DISPLAY_VARIANT); $variant_id = $event->getPluginId(); $variant_configuration = $event->getPluginConfiguration(); // We must render the main content now already, because it might provide a // title. We set its $is_root_call parameter to FALSE, to ensure Loading @@ -244,15 +245,14 @@ protected function prepare(array $main_content, Request $request, RouteMatchInte $title = $get_title($main_content); // Instantiate the page display, and give it the main content. $page_display = $this->displayVariantManager->createInstance($variant_id); $page_display = $this->displayVariantManager->createInstance($variant_id, $variant_configuration); if (!$page_display instanceof PageVariantInterface) { throw new \LogicException('Cannot render the main content for this page because the provided display variant does not implement PageVariantInterface.'); } $page_display ->setMainContent($main_content) ->setTitle($title) ->addCacheableDependency($event) ->setConfiguration($event->getPluginConfiguration()); ->addCacheableDependency($event); // Some display variants need to be passed an array of contexts with // values because they can't get all their contexts globally. For example, // in Page Manager, you can create a Page which has a specific static Loading core/modules/system/tests/modules/display_variant_test/src/Plugin/DisplayVariant/TestDisplayVariant.php +2 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ public function setContexts(array $contexts) { * {@inheritdoc} */ public function setMainContent(array $main_content) { assert(!empty($this->getConfiguration()['required_configuration']), 'Ensure that ::setMainContent() is called with the variant configuration'); $this->mainContent = $main_content; return $this; } Loading @@ -75,6 +76,7 @@ public function setMainContent(array $main_content) { * {@inheritdoc} */ public function setTitle($title) { assert(!empty($this->getConfiguration()['required_configuration']), 'Ensure that ::setTitle() is called with the variant configuration'); $this->title = $title; return $this; } Loading Loading
core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php +3 −3 Original line number Diff line number Diff line Loading @@ -219,6 +219,7 @@ protected function prepare(array $main_content, Request $request, RouteMatchInte $event = new PageDisplayVariantSelectionEvent('simple_page', $route_match); $this->eventDispatcher->dispatch($event, RenderEvents::SELECT_PAGE_DISPLAY_VARIANT); $variant_id = $event->getPluginId(); $variant_configuration = $event->getPluginConfiguration(); // We must render the main content now already, because it might provide a // title. We set its $is_root_call parameter to FALSE, to ensure Loading @@ -244,15 +245,14 @@ protected function prepare(array $main_content, Request $request, RouteMatchInte $title = $get_title($main_content); // Instantiate the page display, and give it the main content. $page_display = $this->displayVariantManager->createInstance($variant_id); $page_display = $this->displayVariantManager->createInstance($variant_id, $variant_configuration); if (!$page_display instanceof PageVariantInterface) { throw new \LogicException('Cannot render the main content for this page because the provided display variant does not implement PageVariantInterface.'); } $page_display ->setMainContent($main_content) ->setTitle($title) ->addCacheableDependency($event) ->setConfiguration($event->getPluginConfiguration()); ->addCacheableDependency($event); // Some display variants need to be passed an array of contexts with // values because they can't get all their contexts globally. For example, // in Page Manager, you can create a Page which has a specific static Loading
core/modules/system/tests/modules/display_variant_test/src/Plugin/DisplayVariant/TestDisplayVariant.php +2 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,7 @@ public function setContexts(array $contexts) { * {@inheritdoc} */ public function setMainContent(array $main_content) { assert(!empty($this->getConfiguration()['required_configuration']), 'Ensure that ::setMainContent() is called with the variant configuration'); $this->mainContent = $main_content; return $this; } Loading @@ -75,6 +76,7 @@ public function setMainContent(array $main_content) { * {@inheritdoc} */ public function setTitle($title) { assert(!empty($this->getConfiguration()['required_configuration']), 'Ensure that ::setTitle() is called with the variant configuration'); $this->title = $title; return $this; } Loading