не может передать параметр в шаблон веточки в Symfony 4 - PullRequest
0 голосов
/ 18 октября 2018

У меня трудности с передачей 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 %}
...