Способ сохранения «userbar» во всем мире

Я новичок в Symfony2, и я поражен этим, но все же - у меня есть некоторые проблемы.

Я хочу, чтобы панель пользователя отображала общие пользовательские данные (логин, аватар, непрочитанные сообщения и т. Д.). Моя проблема заключается в следующем: должен ли я использовать getDoctrine() в каждом контроллере, или есть способ сохранить его в одном файле и включить его каким-то образом?

--редактировать--

Я использовал {# render #} , и теперь я получаю ... ошибка 101. Я сделал все как здесь (раздел Embedding Controllers).

Мой код:

<Код> маршрутизация:

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

excerpt from 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">
     
    {{ nick }}
    
</div>
0
nl ja de

1 ответы

When you use twig, use {# include .. #}, or {# render .. #}

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

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

Вы можете (и должны) поместить это в макет, поэтому вам не нужно повторять его снова и снова.

0
добавлено
Я знаю о включении, и я использую его. Моя проблема заключается в том, что если у меня будет «игровой» контроллер, включите, например. header.html.twig , что я должен использовать, чтобы получить информацию о пользователе (вытащил из базы данных, используя id из сеанса) без переписывания «информации о пользователе», код. Извините за то, что вы так не поняли, я просто не могу сказать это более прямолинейно.
добавлено автор Tomek Buszewski, источник
Я редактировал свой вопрос с использованием render .
добавлено автор Tomek Buszewski, источник
Моя ошибка, я ошибся в маршрутизации. Ошибка 101 является проблемой http с сбросом соединения.
добавлено автор Tomek Buszewski, источник
Затем вы должны взглянуть на render .
добавлено автор KingCrunch, источник
@TomekBuszewski Я не вижу, где вы используете render , а также я не знаю, что означает «ошибка 101». Кроме того, ваш userbarAction() не имеет параметра id .
добавлено автор KingCrunch, источник
symfony
symfony
1 045 участник(ов)

Сообщество Symfony, Symfony Components, Symfony Framework. Вакансии: https://t.me/symfony_careers Официальный slack: https://symfony.com/slack-invite

symfony
symfony
354 участник(ов)