Переменная Twig не существует в шаблоне при использовании динамического маршрута Sonata Pagebundle - PullRequest
0 голосов
/ 10 сентября 2018

Я использую Sonata Pagebundle, и я впервые использую динамические маршруты. Я создал маршрут и контроллер и сгенерировал страницу, используя команду build in sonata.

Страница теперь видна внутри моего дерева, и контроллер также вызывается всякий раз, когда я иду по этому маршруту.

Проблема в том, что я хочу иметь возможность вычислять некоторые данные на основе параметра маршрута и передавать эти данные в шаблон.

Как я могу отобразить шаблон точно так же, как это сделал бы Pagebundle С дополнительными данными, которые я вычислил в своем контроллере. (Поэтому я также хочу, чтобы все блоки также отображались.)

В настоящее время я пытаюсь сделать следующее:

$cmsManager = $this->get('sonata.page.cms_manager_selector')->retrieve();
        $currentPage = $cmsManager->getCurrentPage();

        return $this->render('test_template.html.twig', [
            'test' => 'Test123',
            'page' => $currentPage,
            'site' => $currentPage->getSite(),
        ]);

Проблема в том, что переменная test не существует внутри моего шаблона. Переменные page и site существуют с другой стороны ...

Что я здесь не так делаю?

EDIT: Я также пытался отобразить страницу, используя следующую строку кода:

return $pageServiceManager->execute($currentPage, $siteRequest, ['test' => 'test123']);
...