Я пытаюсь настроить простую CMS в нашем веб-приложении, используя Symfony CMF.
Я могу успешно загрузить приборы на нескольких языках.
$parent = $dm->find(null, '/cms/pages');
$rootPage = new Page(array('add_locale_pattern' => true));
$rootPage->setTitle('main');
$rootPage->setParentDocument($parent);
$rootPage->setName('main');
$rootPage->setBody('');
$dm->persist($rootPage);
$aboutPage = new Page(array('add_locale_pattern' => true));
$aboutPage->setTitle('About');
$aboutPage->setParentDocument($rootPage);
$aboutPage->setBody('About us DE');
$aboutPage->setName('about');
$aboutPage->setLabel('About');
$dm->persist($aboutPage);
$dm->bindTranslation($aboutPage, 'de');
$aboutPage->setBody('About us FR');
$aboutPage->setLabel('About FR');
$dm->bindTranslation($aboutPage, 'fr');
Я также могу отобразить их на нужном языке (текущий язык) на первой странице.
Это мой контроллер действия:
public function pageAction(Request $request, $contentDocument) {
return $this->render(':Frontend/CMS:index.html.twig', ['page' => $contentDocument]);
}
И это мой рабочий файл ветки:
{{ page.body }}
Но как только я попытаюсь отобразить меню на моей странице, оно покажет текст на языке по умолчанию.
{{ knp_menu_render('main') }}
{{ page.body }}
Меню настроено следующим образом:
cmf_menu:
persistence:
phpcr:
menu_basepath: /cms/pages
Выход из app.request.locale всегда фр. Неважно, включаю я меню или нет.
У кого-нибудь есть идеи, что может вызвать эту проблему?
Задача ещё не решена.
Других решений пока нет …