如何解决使用symfony从数据库中加载活动用户列表,而无需使用控制器
我正在导航栏上创建一个presonification菜单,以便可以从任何我不想使用控制器内部的getRepository并传递到前端的页面进行访问。
在symfony 4上是否可以从数据库中获取所有用户并将其调用在前面?例如app.session.user
(以获取有关已登录用户的信息)?
谢谢!
解决方法
正如Cerad所说,您可以在模板中嵌入一个Controller:https://symfony.com/doc/current/templates.html#embedding-controllers
不用做{% include 'base/navbar.html.twig' %}
,而是要做
在您的模板中:
{{ render(controller('App\\Controller\\BaseController::renderNavbar')) }}
在BaseController中
public function renderNavbar(UserRepository $userRepository) {
return $this->render('base/navbar.html.twig',[
'activeUsers' => $userRepository->findActiveUsers(),]);
}
这不是路由,它只是呈现html的函数,因此您无需添加注释。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。