[英]Variable “error” does not exist in FOSUserBundle::layout.html.twig at line 5
I'm working on website but I have an error when I go to ' http://localhost/Tolkien_Bestiaire/web/app_dev.php/profile/ ' 我正在网站上工作但是当我去' http://localhost/Tolkien_Bestiaire/web/app_dev.php/profile/ '时我有一个错误
error : 错误:
"Variable "error" does not exist in FOSUserBundle::layout.html.twig at line 5" 第5行的FOSUserBundle :: layout.html.twig中不存在“变量”错误“
I use FosUserBundle. 我使用FosUserBundle。
layout.html.twig : 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.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 (The controller of the extand to layout.html.twig) : CoreController.php (对layout.html.twig的extand的控制器):
<?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 :) 谢谢 :)
Solution is to wrap error in another if: 解决方法是将错误包装在另一个中:
{% if error is defined %}
{% if error %}
... do something with error message
{% endif %}
{% endif %}
in Login's Twig template. 在Login的Twig模板中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.