在任何地方保持“用户栏”的方法

时间:2012-12-28 12:49:40

标签: symfony

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

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

- 编辑 -

我确实使用了{# render #},现在我得到了...错误101.我做了所有事情like in here(嵌入控制器部分)。

我的代码:

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>

1 个答案:

答案 0 :(得分:0)

使用树枝时,请使用{# include .. #}{# render .. #}

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

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

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