You are browsing documentation for version 5.0 of OroCommerce, OroCRM, and OroPlatform, maintained until August 2024 and supported until March 2026. See version 5.1 (the latest LTS version) of the Oro documentation for information on latest features.

See our Release Process documentation for more information on the currently supported and upcoming releases.

Returning a Custom Status Code

To return custom status code from the layout, create and return Symfony\Component\HttpFoundation\Response passing rendered layout content as the first argument and the status code as the second.

Study the example below:

 * @Route("/sample_not_found_page_code")
 * @return Response
public function sampleNotFoundCodeAction()
    $contextParams = ['some_context_variable' => 'value'];
    $content = $this->get('layout')->render($contextParams, ['some_context_variable']);

    return new Response($content, 404);

Please, be aware that if you pass some custom context params to the LayoutManager::render() method as the first argument, you have to resolve these variables by passing keys as the second argument.

You could have gained the similar result by configuring the layout via the @Layoutvars={“some_context_variable”}) annotations. However, annotations cannot be used when you call the LayoutManager::render() manually.