Встроить контроллеры в шаблон - PullRequest
0 голосов
/ 17 июня 2019

У меня есть контроллер с именем 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" не существует.

...