菜单中的动态链接(Symfony 3)

时间:2017-06-01 12:53:47

标签: php symfony hyperlink menu twig

我正在使用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)

任何帮助将不胜感激。

0 个答案:

没有答案