Symfony CMF菜单翻译

时间:2016-08-30 13:03:16

标签: php symfony symfony-cmf knpmenubundle doctrine-phpcr

我尝试使用Symfony CMF在我们的Web应用程序上设置一个简单的CMS。 我可以用多种语言成功加载灯具。

$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 }}

Screenshot of the working page

但是一旦我尝试在我的页面上呈现菜单,它就会以默认语言显示文本。

{{ knp_menu_render('main') }}
{{ page.body }}

Screenshot of the non working page

菜单配置如下:

cmf_menu:
    persistence:
        phpcr:
            menu_basepath: /cms/pages

app.request.locale 的输出始终为 fr 。无论我是否包含菜单。

有谁知道可能导致此问题的原因?

0 个答案:

没有答案