Bonjour,
Je migre une application d'une version synfony 2.0.6 vers une version 2.1.3
Au niveau des formulaire j'utilise maintenant FormBuilderInterface mais j'ai un souci avec l'internationalisation de mes labels.
En version 2.0.x :
avec form.name dans mes fichiers de langues ça fonctionnait bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ->add('MonChamp', 'text', array('required' => false, 'label' => 'form.name'))
Maintenant cela m'affiche simplement form.name.
Comment est géré la traduction des labels depuis la version 2.1 ?
Un autre problème que je rencontre est au niveau des sessions.
Avant depuis une action d'un contrôleur je pouvais facilement créer une variable de session.
Ceci ne fonctionne plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $session = $this->getRequest()->getSession(); $session->set('Variable', 'Valeur');
D'après la doc il suffirait de faire :
Dans mon php.ini j'ai bien : session.auto_start = 0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 use Symfony\Component\HttpFoundation\Session\Session; $session = new Session(); $session->start(); // définit et récupère des attributs de session $session->set('name', 'Drak');
mais j'ai une erreur du type :
Notice: A session had already been started - ignoring session_start()
Edit : Je viens de remarquer un autre souci qui concerne les formulaires imbriqués là encore mon code ne fonctionne plus.
La version 2.1 est non compatible avec les applications développées en 2.0.
Je pense que je vais donc rester sur mon ancienne version et récupérer simplement le composer.
Edit 2: concernant les formulaires imbriqués:
Voir doc de symfony : http://symfony.com/fr/doc/current/co...llections.htmlNew in version 2.1: La variable de substitution a été changée dans Symfony 2.1. Au lieu de $$name$$, elle se nomme dorénavant __name__.
Edit3:
La traduction fonctionne, j'avais simplement oublié dans ma migration de l'activer dans mon nouveau fichier config.yml
Merci de votre aide.
Partager