我有一个名为UserController的控制器,其中包含1个列出网站上所有活动用户的方法:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class UserController extends Controller
{
public function whoIsOnlineAction()
{
$users = $this->getDoctrine()->getManager()->getRepository('App\\Entity\\User::class')->getActive();
//return new Response(array('users' => $users));
return $this->render('bundles\\FOSUserBundle\\layout.html.twig', ['users' => $users]);
//return array('users' => $users);
}
}
我正在尝试将控制器嵌入在layout.html.twig模板上。可以在template / bundles / FOSUserBundle文件夹中找到此模板,该模板包含:
{% extends 'base.html.twig' %}
{% block content %}
{% for user in users %}
{{ user.firstname }}
{% endfor %}
{% endblock content %}
此模板扩展了base.html.twig模板,该模板可以在templates文件夹中找到,并包含以下内容:
<body>
{% block content %}
{{ render(controller('App\\Controller\\UserController:whoIsOnlineAction')) }}
{% endblock content %}
</body>
当我进行测试时,出现以下错误: 变量“用户”不存在。