Handles a response for a view.
public function handle(Request $request) {
$view_id = $request->attributes
->get('view_id');
$display_id = $request->attributes
->get('display_id');
$entities = $this->storageController
->load(array(
$view_id,
));
$entity = reset($entities);
if (empty($entity)) {
throw new NotFoundHttpException(format_string('Page controller for view %id requested, but view was not found.', array(
'%id' => $view_id,
)));
}
$view = $this->executableFactory
->get($entity);
$view
->setDisplay($display_id);
$view
->initHandlers();
$args = array();
foreach (array_keys((array) $view->argument) as $argument_id) {
$arg = $request->attributes
->get('arg_' . $argument_id);
if (isset($arg)) {
$args[] = $arg;
}
}
return $view
->executeDisplay($display_id, $args);
}