OffCanvasRender::renderResponse

public OffCanvasRender::renderResponse(array $main_content, Request $request, RouteMatchInterface $route_match)

Renders the main content render array into a response.

Parameters

array $main_content: The render array representing the main content.

\Symfony\Component\HttpFoundation\Request $request: The request object, for context.

\Drupal\Core\Routing\RouteMatchInterface $route_match: The route match, for context.

Return value

\Symfony\Component\HttpFoundation\Response The Response in the format that this implementation supports.

Overrides DialogRenderer::renderResponse

File

core/modules/outside_in/src/Render/MainContent/OffCanvasRender.php, line 41

Class

OffCanvasRender
Default main content renderer for offcanvas dialog requests.

Namespace

Drupal\outside_in\Render\MainContent

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public function renderResponse(array $main_content, Request $request, RouteMatchInterface $route_match) {
  $response = new AjaxResponse();
 
  // First render the main content, because it might provide a title.
  $content = $this->renderer->renderRoot($main_content);
 
  // Attach the library necessary for using the OpenOffCanvasDialogCommand and
  // set the attachments for this Ajax response.
  $main_content['#attached']['library'][] = 'outside_in/drupal.off_canvas';
  $response->setAttachments($main_content['#attached']);
 
  // If the main content doesn't provide a title, use the title resolver.
  $title = isset($main_content['#title']) ? $main_content['#title'] : $this->titleResolver->getTitle($request, $route_match->getRouteObject());
 
  // Determine the title: use the title provided by the main content if any,
  // otherwise get it from the routing information.
  $options = $request->request->get('dialogOptions', []);
 
  $response->addCommand(new OpenOffCanvasDialogCommand($title, $content, $options));
  return $response;
}
doc_Drupal
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.