У меня трудности с передачей 2 параметров из контроллера в шаблон веточки для отображения формы.Symfony постоянно говорит мне «Ошибка переменной не существует». Теперь протестировано и подтверждено, что даже переменная «ошибка» , «last_username» определена вконтроллер не доходит до шаблона!Просто не понимаю, почему ... даже просмотрел все мои конфигурационные файлы ...
По иронии судьбы я также использую тот же код в другом мини-приложении и работает FINE!
чтоя пропускаю?
код контроллера:
<?php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
class SecurityController
{
/**
* @var \Twig_Environment
*/
private $twig;
public function __construct(\Twig_Environment $twig)
{
$this->twig = $twig;
}
/**
* @Route("/login", name="security_login")
*/
public function login(AuthenticationUtils $authenticationUtils)
{
return new Response($this->twig->render(
'security/login.html.twig',
[
'last_username'=> $authenticationUtils->getLastUsername(),
'error'=> $authenticationUtils->getLastAuthenticationError(),
]
));
}
/**
* @Route("/logout", name="security_logout")
*/
public function logout()
{
# code...
}
}
Шаблон веточки:
{% extends 'base.html.twig' %}
{% block body %}
{% if error %}
<div class="alert alert-danger">
{{ error.messageKey|trans(error.messageData, 'security') }}
</div>
{% endif %}
<div class="container">
<form action="{{ path('security_login') }}" method="post">
<div class="form-group">
<label class="form-control-label" for="username">User Name</label>
<input type="email" class="form-control" id="username" name="_username" required="required" value="{{ last_username }}" aria-describedby="user name">
<small id="userNameHelp" class="form-text text-muted">This will be your login name!.</small>
</div>
<div class="form-group">
<label class="form-control-label required" for="password">Password</label>
<input type="password" class="form-control" id="password" name="_password" required="required" placeholder="Password">
{# </div>
<div class="form-group form-check">
<input type="checkbox" class="form-check-input" id="exampleCheck1">
<label class="form-check-label" for="exampleCheck1">Im aMuppet and forgot my password...</label>
</div> #}
<div class="form-group">
<button type="submit" class="btn btn-primary" id="Login" name="Login">Submit</button>
</div>
<input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}">
<input type="hidden" name="_target_path" value="{{ app.request.get('redirect_to') }}">>
</form>
</div>
{% endblock %}