knpmenubundle et Bootstrap [FR]

Aujourd’hui, je vais parler de l’intégration de Bootstrap et KnpMenuBundle.

Je pars du principe que vous avez déjà un template avec les ressources de Bootstrap d’inclus.

L’installation et l’utilisation du bundle sont simples et bien expliquées la documentation. Afin de bien intégrer Bootstrap j’ai du chercher quelques petites sur le net que je rassemble ici.

Afin que tout fonctionne correctement, les éléments du menu doivent être ajoutés comme suivant :

 

Ajouter les classes sur la balise <ul>

Cela ne semble pas bien compliqué, pourtant j’ai trouvé que la documentation n’était pas vraiment claire, voici donc comment faire.
Après avoir créé notre MenuFactory  il nous faut simplement appeler la fonction setChildrenAttribute()  sur notre instance

Définir l’élément actuel

Afin de définir l’élément actuel du menu, il faut appeler la fonction  setCurrentUri() de  MenuFactory .

 Changer l’attribut de l’élément courant

Cette fois direction le template de la page, il faut appeler la fonction twig suivante  avec un paramètre pour spécifier la classe de l’élément courant.

Vous obtiendez alors un menu prêt pour le design fuild de Bootstrap.

 

Symfony2.1 + sonata-admin + sonata-user +fos-userbundle [EN]

Hy, everybody, today we will see how to install Symfony2.1 and the following bundles:

  • FOSUserBundle
  • SonataAdminBundle
  • SonataUserBundle

tl;dr: There is a GitHub repository with the project.

The first step is to create the project with the following command line:

composer create-project symfony/framework-standard-edition sonataadmin.fr

Then we edit the composer.json file to add the bundles:

Update the AppKernel.php file to add the following bundles:

As Sonata Admin Bundle need the translation, we turn in on in the config.yml

And we add the configuration for fosuserbundle and sonata admin in the config.yml:

Since it’s an admin bundle we setup the security in the security.yml file:

Using the smyfony console we now generate the configuration for the user admin thanks to the SonataEasyExtendsBundle: app/console sonata:easy-extends:generate SonataUserBundle The bundle is created into the app folder, move it to src.

Once it done add this new bundle to the AppKernel.php:

We have now to care of the entity and update them with @ORM annotation:

In the config.yml file, in the doctrine section we have to add the support for json:

That being done, the database need to be created or updated. Depending on your need use one of the following command:

app/console doctrine:schema:create for the creation

app/console doctrine:schema:update --force for the update

After that, install the assets with app/console assets:install web

In order to use our admin dashboard we have to import the route in routing.yml:

Last step if we didn’t already have a user, we create one:

app/console fos:user:create admintest admin@test.com pass --super-admin

You just have to go to http://sonataadmin.fr.dev/admin/dashboard and log on with the user and you should see this dashboard:

In a next article we will see how to add new elements to the admin dashboard.

P.S. a GitHub repository is available : https://github.com/dayofr/sonataadmin.fr

Symfony2.1 + sonata-admin + sonata-user +fos-userbundle [FR]

Salut à vous, aujourd’hui nous allons voir comment installer Symfony2.1 et les bundles suivants:

  • FOSUserBundle
  • SonataAdminBundle
  • SonataUserBundle

La première étape est bien entendu la création du projet à l’aide de la commande suivante:

composer create-project symfony/framework-standard-edition sonataadmin.fr

Éditez le fichier composer.json pour y rajouter les bundles suivants :

Mettez à jour votre fichier AppKernel.php avec les bundles suivants :

Modifier votre fichier config.yml afin d’activer la traduction

Dans votre fichier config.yml rajoutez le contenu suivant:

Ensuite au tour du security.yml:

A l’aide de la commande suivante : app/console sonata:easy-extends:generate SonataUserBundle nous allons généré la partie admin pour les utilisateurs. Le code généré se trouve dans le dossier app, déplacez le dans le dossier src.

Une fois fait, ajoutez le nouveau bundle dans le fichier AppKernel.php.

Mettez alors a jour les deux entités avec les annotations @ORM.

Nous devons ensuite ajouter le support du json a doctrine avec le code suivant dans le fichier config.yml.

Une fois fait, il nous faut créé ou mettre à jour la base données. En fonction de votre besoin, utilisez l’une ou l’autre de ces commandes:

app/console doctrine:schema:create pour la création

app/console doctrine:schema:update --force pour la mise à jour

S’en suis l’installation des assets avec app/console assets:install web

Afin de pouvoir accéder à notre espace admin il faut importer les routes dans le fichier routing.yml

Dernière étape, la création du premier utilisateur avec la commande suivante:

app/console fos:user:create admintest admin@test.com pass --super-admin

Rendez-vous alors sur http://sonataadmin.fr.dev/admin/dashboard puis connectez-vous avec l’utilisateur précédemment créé. Vous devriez alors avoir le dashboard suivant :

Dans un prochain article, nous verrons comment ajouter des éléments au générateur.

P.S. un dépôt github est disponible a l’adresse suivante : https://github.com/dayofr/sonataadmin.fr