You are browsing documentation for version 5.0 of OroCommerce, supported until January 2025. Read the documentation for version 6.0 (the latest LTS version) to get up-to-date information.

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.