0

我是 Symfony2 的新手,我对它感到惊讶,但仍然 - 我有一些问题。

我想要一个显示常见用户数据(登录名、头像、未读消息等)的用户栏。我的问题是:我必须getDoctrine()在每个控制器中使用,还是有办法将它保存在一个文件中并以某种方式包含它?

- 编辑 -

我确实使用过{# render #},现在我得到了……错误 101。我做了所有像这里一样的事情(嵌入控制器部分)。

我的代码:

routing:

game_shelf_users_userbar:
    pattern:  /User/userbar/{id}
    defaults: { _controller: GameShelfUsersBundle:Default:index } 

摘自controller:

public function userbarAction() {
        $user = $this->getDoctrine()
            ->getRepository('GameShelfUsersBundle:User')
            ->findOneById('1');

        return $this->render('GameShelfUsersBundle:Default:userbar.html.twig', array(
            'nick' => $user->getNick()
        ));
    }

userbar.html.twig:

<div id="userbar" class="bg grid_5 alpha">
    <a class="grid_1 omega" href="">&nbsp;</a>
    <span class="grid_3 alpha omega">{{ nick }}</span>
    <img class="grid_1 alpha" src="img/users/1.jpg" alt="">
</div>
4

1 回答 1

0

当您使用 twig 时,请使用{# include .. #}{# render .. #}

http://twig.sensiolabs.org/doc/tags/include.html

http://symfony.com/doc/master/book/template.html

您可以(并且应该)将其放置在布局中,因此您无需一遍又一遍地重复它。

于 2012-12-28T12:54:44.743 回答