我正在使用Symfony,我想在我的网站上添加菜单栏。我有一个简单的菜单栏,其中3个链接是静态的,并且总是像“Home”一样,但我需要添加应该是动态的新链接。我有我的管理面板,我可以添加新页面(有关它们的信息存储在数据库中 - 标题,内容等),我想要实现的是,添加新页面后,此菜单中应显示指向此页面的链接。我在header.html.twig文件中有这个菜单,我将其包含在与页脚相同的每个页面中。
那时我能够取得的最好成绩:
DefaultController.php
public function headerAction ()
{
$news = $this->getDoctrine()
->getManager()
->createQueryBuilder()
->from('AppBundle:News', 'n')
->select('n')
->where('n.type = :news')
->setParameter('news', 'other')
->getQuery()
->getResult();
$parsedown = new Parsedown();
foreach($news as $key => $new){
$news[$key]->setContent($parsedown->text($new->getContent()));
}
return $this->render('default/other_menu.html.twig', array(
'news' => $news
));
}
头-menu.html.twig
{# some bootstrap #}
{# simple static links #}
{{ render(controller('AppBundle:Default:header')) }}
{# simple static links #}
{# some bootstrap #}
other_menu.html.twig
{% for new in news %}
<a href="{{ path('show_other', {id: new.id}) }}">{{ new.title }}</a>
{% endfor %}
但是这个解决方案只有在数据库中有一个页面时才有效。随着更多 - 创建一个长链接(page1page2page3)
任何帮助将不胜感激。