Surcharger layout FOSUserBundle

Par Frank Drebin, il y a 10 ans


Bonjour,
Je commence la prise en main du framework Symfony 2 pour un projet personnel. J'ai déjà un bundle qui gère ma plateform où l'on peut poster des annonces et actuellement sans avoir besoin d 'être enregistré.
J'ai suivis le tuto vidéo proposé sur grafikart.fr pour installer et mettre en place la suite avec FOSUserBundle.
L'installation c'est bien passé mais je n'arrive pas à surchargé mon layout.html.twig et je ne comprends pas d'où peut venir ce frein.
au cas ou je vous montre l'architecture de mon projet :

-app - resources -views base.html.twig -src - JOB -platformBundle -resources -views layout.html.twig -UserBundle -resources -views layout.html.twi

Je ne parviens pas à faire en sorte que le contenu du UserBundle/Resources/views/layout.html.twig apparaisse dans le base.html.twig.
Alors que pour PlatformBundle il n'y a aucun soucis.

Si vous pouviez m'orienter j'en serai ravi,
Merci

8 réponses

nicovak, il y a 10 ans

Dans ton bundle UserBundle tu peux spécifier ceci dans la classe UserBundle.

namespace JOB\UserBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class JobUserBundle extends Bundle { public function getParent() { return 'FOSUserBundle'; } }
Frank Drebin, il y a 10 ans

Merci nicovak de ta rapidité de reponse, cependant c est bien ce que j'avais fait.
C est bien le JOBUserBundle situé dans :

-src -UserBundle JOBUserBundle.php

?

rif152, il y a 10 ans

Donne nous un peu plus de code stp ;)

ton JOBUserBundle, le layout.hmtl.twig de ton userbundle sa serait déja un debut :)

Frank Drebin, il y a 10 ans

Oui en effet pour le coup je n'ai pas fourni beaucoup d'informations.

<?php #src/UserBundle/JOBUserBundle.php namespace JOB\UserBundle; use Symfony\Component\HttpKernel\Bundle\Bundle; class JOBUserBundle extends Bundle { public function getParent() { return 'FOSUserBundle'; } }

Et : src/UserBundle/Resources/views/layout.html.twig

{% extends "base.html.twig" %} {% block body %} <div> {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %} {{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }} | <a href="{{ path('fos_user_security_logout') }}"> {{ 'layout.logout'|trans({}, 'FOSUserBundle') }} </a> {% else %} <a href="{{ path('fos_user_security_login') }}">{{ 'layout.login'|trans({}, 'FOSUserBundle') }}</a> {% endif %} </div> {% if app.request.hasPreviousSession %} {% for type, messages in app.session.flashbag.all() %} {% for message in messages %} <div class="flash-{{ type }}"> {{ message }} </div> {% endfor %} {% endfor %} {% endif %} <div> {% block fos_user_content %} {% endblock fos_user_content %} </div> {% endblock %}
rif152, il y a 10 ans

Ok merci ;)
Je ne voit effectivement pas de souci particulier (a mon niveau) :s , a tu une erreur qui s'affiche? A tu essayer de vider le cache de symfony?

Frank Drebin, il y a 10 ans

En effet, les derniers cache:clear ne marchaient pas, du coup ça venait de là.
Une petite question pr m orienter rapidement. Si je veux proposer 2 sortes d inscritiption, c est a dire une pr les user normal et une autre pr des entreprises par exemble, je peux gérer cela avec les ROLE ? et le seul bundlefosuser ?

nicovak, il y a 10 ans

Si tu dois avoir deux objets clients différents ainsi que deux espaces clients différents je te conseil ce bundle

Frank Drebin, il y a 10 ans

Merci je vais voir ce que je peux faire avec du coup.