У меня есть контроллер с именем 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.Этот шаблон находится в папке templates / bundles / FOSUserBundle и содержит:
{% extends 'base.html.twig' %}
{% block content %}
{% for user in users %}
{{ user.firstname }}
{% endfor %}
{% endblock content %}
Этот шаблон расширяет шаблон base.html.twig, который можно найти в папке шаблонов, и содержит следующее:
<body>
{% block content %}
{{ render(controller('App\\Controller\\UserController:whoIsOnlineAction')) }}
{% endblock content %}
</body>
Когда я запускаю тест, я получаю эту ошибку: переменная "users" не существует.