2016-07-25 6 views
3

Ich bin auf der Website arbeiten, aber ich habe einen Fehler, wenn ich 'http://localhost/Tolkien_Bestiaire/web/app_dev.php/profile/' gehenVariable "error" existiert nicht in FOSUserBundle :: layout.html.twig in Zeile 5

Fehler:

"Variable "Fehler" existiert nicht in FOSUserBundle :: layout.html.twig bei Linie 5"

I FosUserBundle verwenden.

layout.html.twig:

{% extends "TolkienCoreBundle::layout.html.twig" %} 

{% block body %} 

    {% if error %} 
     <div class="alert alert-danger">{{ error.message }}</div> 
    {% endif %} 

    <form action="{{ path('fos_user_security_check') }}" method="post" id="loginForm"> 
     <label for="username">Pseudo :</label><br/> 
     <input type="text" id="username" name="_username" value="{{ last_username }}" class="col-md-4"/><br/><br/> 

     <label for="password" class="col-md-12">Mot de passe :</label><br/> 
     <input type="password" id="password" name="_password" class="col-md-4"/><br/><br/> 

     <input type="submit" value="Connexion" class="col-md-4" /> 
    </form> 

{% endblock %} 

security.yml:

security: 
    encoders: 
    Tolkien\UserBundle\Entity\User: sha512 

    role_hierarchy: 
    ROLE_ADMIN:  [ROLE_AUTEUR, ROLE_MODERATEUR] 
    ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] 

    providers: 
    main: 
     id: fos_user.user_provider.username 

    firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 
    main: 
     pattern:  ^/ 
     anonymous: true 
     provider:  main 
     form_login: 
     login_path: fos_user_security_login 
     check_path: fos_user_security_check 
     default_target_path: tolkien_bestiaire_home 
     logout: 
     path:  fos_user_security_logout 
     target:  /tolkien 
     remember_me: 
     secret:  %secret% 



    access_control: 
    - { path: ^/admin, roles: ROLE_ADMIN } 

CoreController.php (Die Steuerung des Extand layout.html.twig):

<?php 

namespace Tolkien\CoreBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Symfony\Component\HttpFoundation\RedirectResponse; 
use Symfony\Component\HttpFoundation\Request; 

class CoreController extends Controller 
{ 
    public function indexAction() 
    { 
     return $this->render('TolkienCoreBundle:Core:index.html.twig'); 
    } 

    public function contactAction(Request $request) 
    { 
     $session = $request->getSession(); 
     $session->getFlashBag()->add('info', 'La page de contact n’est pas encore disponible, merci de revenir plus tard.'); 

     return $this->redirectToRoute('tolkien_core_home'); 

    } 
} 

Thanks :)

+2

Sie sollten '{% if error is%}' anstelle von '{% if error%}' http://twig.sensiolabs.org/doc/tests/defined.html verwenden – pavlovich

Antwort

0

Lösung ist Fehler in einem anderen, wenn einzuwickeln:

{% if error is defined %} 
{% if error %} 
... do something with error message 
{% endif %} 
{% endif %} 

in Anmeldung der Zweig-Vorlage.

Verwandte Themen