2017-04-11 1 views
0

Sur mon projet symfony 3.2, j'utilise le FOSUserBundle pour l'enregistrement et l'authentification de l'utilisateur. Ce que j'essaie de faire est d'appliquer un thème personnalisé au formulaire d'inscription.Symfony FosUserBundle s'étend de mon modèle par défaut à partir d'un autre groupe

donc je me suis fait la app/Resources/views/base.html.twig qui est le modèle de base de mon application:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8" /> 
     <title>{% block title %}Welcome!{% endblock %}</title> 
     <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 

     {% block stylesheets %} 
      <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/bootstrap/css/bootstrap.css')}}" ></link> 
      <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/adminlte/adminlte.css')}}" ></link> 
      <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/adminlte/skin-blue.css')}}" ></link> 
     {% endblock %} 
     <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" /> 

     {% block javascriptsHeader %} 

     {% endblock %} 

    </head> 
    <body class="{{ classes }}"> 
     {% block body %} 
     {% endblock body %} 

     {% block javascriptsFooter %} 

     {% endblock javascriptsFooter %} 
    </body> 
</html> 

J'ai également changé Resources/FOSUSerBundle/views/layout.html.twig avec le contenu suivant:

{% extends AppBundle::base.html.twig %} 

{% body %} 
    {% block fos_user_content %} 
    {% endblock fos_user_content %} 
{% endblock body %} 

Comme on le voit sur: * Symfony2: How to extend a Bundle? * http://symfony.com/doc/current/bundles/FOSUserBundle/overriding_templates.html

Mais j'obtiens l'erreur suivante:

Unexpected token "punctuation" of value ":" ("end of statement block" expected). 

Avez-vous une idée de comment utiliser mon modèle par défaut comme l'enregistrement du modèle?

Répondre

1

Vous avez la mauvaise chaîne dans extends. Changer

{% extends AppBundle::base.html.twig %} 

à

{% extends '::base.html.twig' %} 

et cela devrait fonctionner. REMARQUE: L'utilisation de ::base.html signifie que le moteur de gabarit recherche base.html dans app/Resources/views/base.html.twig. Le réglage AppBundle::base.html.twig est erroné. Si le modèle était situé dans un paquet (c'est-à-dire AppBundle - src/AppBundle), alors le chemin ressemblerait à @AppBundle/base.html.twig.